I’ve always found Photoshop to be the most unintuitive product ever made, and simply cannot get on with it. I find I use it to resize and cut out images as opposed to making much from scratch, although naturally there are times.
I find for a lot of things, pure CSS is actually really good for making impressive looking sites. Photoshop is fantastic if you’re good with it, but it still means you’re making static content. Database driven PHP and CSS gives you new opportunities that really shouldn’t be ignored, especially when it comes to opacities (via rgba(r,g,b,a)) which work so much better than they used to.
My work flow will often be to mental design something, sketch out ideas on pen and paper (very badly, I hasten to add!) then go straight into a coding text editor and put the layout together with some static content and block out the divs with solid backgrounds etc. Once you get used to this, you can truly surprise yourself how quickly you can then integrate with your database and make the real thing.