Here's my point of reference FWIW...
I just bought an 09 speed 3 GT on 3/14/09 and it was 22,600 OTD. Included was a 6yr/60k mile warranty and an alarm/immobilizer. It was the last one on the lot and they needed space on the lot for all the new standard 2010 3's. The trick to getting a good deal IMO is as follows.
1. Do not be afraid/hesitant to walk away if you do not get the deal you are asking for. I walked away after a test drive and an hour of negotiation with the finance guy. When I came back, not only did he remember me, but he took my original offer right off the bat.
2. I would finance and then pay it off later w/ cash if that's how you want to handle it. Avoid all cash up front as SwampAss advises. It is much more difficult to have any recourse when paying in cash. I paid my down payment on my CC so I could dispute charges with them in the dealership tried anything shady. I'll just pay it off in full when it comes due.
3. Take your time. Make sure everything is as you want it before driving away. I sent the car back after they cleaned it up for me because the rear tires looked low on air. I asked them to check the tires an they found a small nail in the rear driver's side.
4. Look online/call the see how many models the dealer has left in stock. Often times they just want to get rid of them to make space for the new ones instead of having them sit on the boat in the harbor or in their storage facility.
5. Be courteous. If they want to hard sell you/ be douchebags, get up in the middle of their sentence and walk out. Their tone and mannerism will change and if not, why waste your time and energy on them by insulting them back. Go find another dealer that will treat you better.
Best of luck to you.