I just spent some time on this thread and see everyone's suggestions and thoughts..
I'm a new owner of a E46 M3 just picked it up a few weeks ago, 06 with around 8000 miles on it and one of my good friend also picked up a 335i at the same time
We both came from heavily modded Jap cars and both love the BMW now. But I personally prefer the E46 M3 more just because it gives you more of a race car feel, car also drives a lot more solid at corners and so on... However, the 335i IS more modern, more driver friendly features and such..
I guess at the end of the day, just depends on what the driver is looking for, and then look for a good deal.
just my 2 cents