It depends on what you want out of a car. Do you want a great all around daily driver? Would you be willing to sacrifice some practicality for more speed? All of the answers given thus far are good, but it depends on what you are looking for. I needed a daily driver that had enough room for my wife plus a baby seat and could be taken to the track occasionally. I had a 335i that was modified. It was fast, a good daily driver, but not great on the track. I sold the 335i and got an E90 M3 which was a great all around daily driver, good at the track, but ultimately felt too slow in a straight line for me (my 335i was faster in a straight line). So I was in your predicament. Do I wait for the new M3 or get a used 997TT. I didn't want a used car, and I didn't think the new M3 will be fast enough for me. I wanted something that was going to be stupid fast. So in the end, I got a new Nissan GT-R. It has room for my wife plus a baby seat. I drive it daily in Los Angeles. It is great at the track. In terms of speed, it was fast for sure, but I also got the GT-R because I knew it responded well to mods. So a few bolt on mods, a custom tune, and E85 gas, and it now makes over 700hp. To me, it's the ultimate daily driver. It does everything my E90 M3 did but is 100 times faster. If money wasn't an object, I might have gone with a 997 Turbo S which is also ridiculously fast and easy to mod, but is $50K more than my GT-R which I couldn't justify.
2012 R35 GT-R (559whp)
2008 E90 M3
2007 E92 335i (369whp, 354wtq) sold
2004 G35 Coupe sold