I agree with Panache above...
You first need to decide the exact vehicle you want including every option and the color(s). You need to determine if you will have a trade, and how much that's worth. Determine if you will finance through them or if you'll be paying cash (or financing through the bank).
I went to the Honda website and got the email address for every Honda dealer within about 50 miles. I then emailed all of them and explained the car I wanted, the colors I would accept, that I had no trade and I was a cash buyer, and ready to buy now. I explained that what they emailed me back should be considered their BAFO.
About half actually replied, some were well above MSRP, some at MSRP and some were well below MSRP (approcahing invoice). I should state that this was a new model vehicle that was in high demand, which explained the MSRP guys. I guess about 3 were pretty close, so I emailed them back and told them the offers I had recieved (i.e. "lowest is $400 over invoice). Turns out my local dealer said he would beat any other offer by $200, so I chose him...ended up about $200 over invoice and he was close by (one of the others was about 1 hour away).
I went to the dealership once for about 5 minutes to put down a deposit, and then again for about 30 minutes to pick it up a month later. Of course, if there was someway to avoid the miserable process of dealing with the extwarr/paint/scotchgard guy, I'd have done that too...just keep saying "NO".
All in all, it was a painless process...the actual shopping via email took about a week, but all from the comfort of home!