I see this happen all too often. Thing is, most people (myself included) feel that the current 3er just isn't sporty enough, and end up buying something else - then regret it and come back. We're never completely satisfied either way. A sportier 3 series would do the trick.
I'm not going to subscribe to the usual BMW fanboyishness that accompanies threads like this because, quite frankly, I can't stand it. The "it's not a BMW" crap is ridiculous. No - it's not - and that can be both good and bad. On one hand, you're probably getting more for your money. You probably won't have to put up with the same annoying problems and reliability quirks (silly things like window regulators with braided steel cables and PLASTIC pulleys). But then, you won't get quite the same driving feel or experience out of the car - very, VERY few cars on this Earth drive quite like BMW's products do. That much is true.
I read an interesting article some while ago (five or six years, at least) that talked about how some insiders at BMW were concerned that the brand was losing focus - that its newest cars were a touch too refined or civilized, too "perfect." This was just a year or so into E46 sedan production. The concern was that BMW would start losing its younger, sport-minded buyers and the average buyer age would become something resembling that of Mercedes-Benz (50-55). How accurate were these predictions?
Well, BMW's buyer age is still much younger than the industry average for luxury cars. That fear may have been unfounded. However, the article did make another point which I find relevant even today - that buyers are no longer associating "sporty" with BMW. In other words, the hard edged excitement that drew so many people to brand in prior years has disappeared. I think that's certainly the case - if you want a truly "sporty" car in the ~30k price range these days, you go for a 350Z, a MazdaSpeed 6, or an STI...NOT a BMW 3 series. I'm not suggesting that the older 3ers were quite like an STI or 350Z, but they were certainly much closer to those cars then than what they are today (that is, relatively quiet luxury sedans with a "playful" side to them).
I'll tell you what's wrong with the 3 series today, particularly the E90: it's not sporty enough (see above!). It's not luxurious enough (have you driven the new IS350?). It tries to be both, and shouldn't. The buyer should be offered a choice OR a compromise.
For example, the current car's steering is awfully numb. I really find it hard to thoroughly enjoy the E90 after getting out of an E36 or even an early (99-00) E46. The shift throws are way too long - though this I've become accustomed to. The stock clutch is crap. It's vague, overly soft, doesn't have a sharp engagement bite to it. I absolutely LOVE the E34 M5-based aftermarket setup in my E46 - it's absolutely the most cherished improvement I've made to that car.
Sure, the luxury aspect helps the car sell to the mass market. No doubt the 3 series outsells all of the above cars combined. But why can't we have our cake and eat it too? Offer two versions - one, similar to the current version but a little softer. Comfortable ride, automatic, power seats, you get the idea. The other, a ZHP-like version with sporty exterior accents, large wheels, and stiff, responsive suspension. Shorter gearing, louder exhaust, short-throw shifter, tighter clutch - all the things that make a car exciting to drive. Lose the power seats and all that crap, cut down the weight (and cost) a bit. Leave the quiet, smooth, heavy stuff to the luxury oriented version...hit both sides of the market. See how Mercedes has both a "sport sedan" and "luxury sedan" version of their C-class? BMW can do that, too, but to an even greater extreme. Make the "sport package" more than just seats, wheels, mild suspension tuning and a steering wheel. Make it a completely "different" car...like the ZHP package did.
Return the 3er to its roots, BMW.