I just went through all this while looking for a new daily driver. Choices: E90 M3, E46 M3 or 335i. I could make all work financially.
I have a lot of seat time in our shop E92 M3 and shop 135i and I've borrowed a friends 335i for a week to really feel it out. As Obioban said, they are all very different cars. I generally agree with most of his comments too.
I chose the E46 M3. Why? I like the drama and the rawness. I love the styling and its really really good even stock. I want to do a lot of track days this year, so the E46 could be a lot of fun.
I picked up a super clean 50k mile '05 for 23k. Its my 2nd fav color, 6MT and hardtop. It has a Dinan can and some other little bits that I will keep. I've been stuck with numb people pushers for the last 5-6 years due to my old job, so I wanted to jump back to something more basic and raw ;-)
If I got a 335i I would immediately upgrade:
suspension components (m3 conversion)
E46 needs a shifter, proper dampers and a few other little bits.
I will get the E90 M3 next.
Sales Representative, VAC Motorsports
Office: 215.462.4666 | Fax: 215.462.4667 | Email: firstname.lastname@example.org