For a new ('09 as of this writing) ordered
1) Go to Edmunds or use the sticky above and calculate the INVOICE price of the car.
2) Call/email several dealerships within reasonable driving distance, tell them upfront that you're shopping for the best deal -- include the list of options you want along with the invoice price so they're aware that you've educated yourself.
3) Some dealers are cooperative, some are not. Negotiate with the one that seems to be most cooperative. Reasonable target seems to be ~$500 over invoice on an ordered car... mine was $750 over invoice with M3 mats thrown in, but I've read of others with more persistence doing better.
4) At some point you need to find your personal balance between level of effort and number of Benjamins saved.
5) If you can't find a cooperative dealership in your area that will agree to this, broaden your search to 100-mile radius of dealerships -- it doesn't take much effort for them to order a car for you, and you'll only need to make 2 trips to the dealership to order and then pickup your car. You don't have to have the car maintained at the dealership you bought it from...
For 'on the lot' cars, I'll have to defer to others' experiences...