a firm note on the M3...
It's simple... if you want the badge and all that comes with it, get an M car.
Otherwise, buy a 2005 STI.
The most frustrating part of all these answers is that it really comes down to money... it never comes down to performance. Although, everyone thinks it does... "Well, buy a 335i, it can be tuned... and a lot faster..." - sure - but, go buy a used 2.0-2.5L Japanese car, drop $3-5k and enjoy your car that will keep up with just about anything mass produced. Drop even a few more thousand and you'll have something ridiculous. Save your money. If you want fast, and luxurious - buy an expensive sports/luxury car.
Just let it be known that I drive a 2004 E46... and probably, as far as stock goes - the absolute slowest - being that I have every option available (adds a lot of weight). Due to that, I felt like it was necessary to get it slightly turned by Dinan - YET - still naturally aspirated.
So the simple truth of the matter is... you don't buy an M3 because you want the fastest car... the nicest car... the most luxurious car.
If you want cheap and fast, BMW is not the way to go. 335, 135, 328 etc etc etc are great cars, but not M cars. Regardless of their specs, regardless of their price, or performance - they are not, and will never be an M car.
It's in my opinion that a 600bhp+ and some ridiculous amount of torque STI will smoke the pants off a Ferrari 355, or Ferrar 360, hell - I don't know, maybe beat an F430 (I don't know)... so then the real question is: Why is that the richest people... don't buy STI's and tune them... make them faster than thier $400,000 exotics in their multiple garages scattered around the world?
The VAST MAJORITY of these people (it's important that i capitalize that because some will say "well.... some people do...") don't buy 335i's and tune them and I wonder why. Hmmmmmmm... It's a club, just like driving a Ferrari, or a Lambo - but significantly less prestigious. So, it just depends what club you want to be socially judged and associated with (I don't mean that derogatory).
The E46 M3 is my bias... and I understand that. I wouldn't mind pulling up in a Ferrari 348 GTS next to some Mitsubishi Evo IIISR blah blah whatever the hell letters and numbers come after it... and get completely smoked. Good. At the end of the day it's the EVO driver that will remember the Ferrari ... not vise versa.
So, cheers to all the 335, EVO, STI etc owners - they are all cool cars and will probably beat me in every race that I never enter - let a lone many other M cars on the road.
That's not why we bought the M car.