Here's what I did...
As suggested, go to Edmunds and Kbb.com and pick out exactly what you want including all options and any colors you want or don't want. Write down the invoice costs on everything and the destination fees and total it up. while on those sites, check to see what rebates or incentives are offered on that vehicle.
Then I went to the manufacturers web site and you can search for dealers by zip code. I picked about 15 who were within about a 75 mile radius and got their email addresses. I then emailed each one with my vehicle request, color choice, if I had a trade or not, if I needed financing or not, and when I wanted to purchase by. I told them I wanted their best price up front, and that I was talking to many dealers.
About half never replied, some were way over MSRP, some were at MSRP and some were between invoice and MSRP. I took the lowest 2 or 3 and sent them another email, saying where they were in the running and if they could do better. In the end, my local dealer said they would beat my best deal by $400, so I went with it. I ended up paying about $200 over invoice, and this was a new model, that at the time was selling most places for MSRP or better.
I went in and put down a deposit, and went back about a month later to pick it up. All-in-all, I spent about 1 hour total in the dealership. The entire email process took about 1 week, from the time the first batch of emails went out till I put down the deposit.
It was by far the easiest car purchase I've ever made, and i'll never buy a car any other way.