Owned/driven (company cars) four 3 series prior to then buying an E60 530d SE (218BHP), nice car but as you said just didn't feel right (mistake buying a non sport didn't help!). There was loads of space but just turned out to be too big for my needs, didn't handle well enough and was a tadge too slow and also never got used to the active steering my car had.
Got a 330d M Sport have not looked back, on the test drive it felt right straight away, handling, power and better looking car in my opinion...although the E60 sports and M5 do look good! The 3 series E90 is not that much smaller inside than the E60.
Had the E90 now 10 months and covered 28,000 it is an awesome "inercity" cruiser returning upwards of 40MPG (covering ground at upwards of 10-20 MPH of Motorway limit). It gets me from just outside London to Glasgow regularly on one tank with plenty left over a trip it does regularly in circa 5 hours! It also loves a good thashing accross fast A and B roads...worst consumption to date 29MPG over a tank...blame those great roads in the North Yorkshire Moors for that one!
It's now on its second set of rubber all round and making the switch from those crap crap Bridgestone RFT's Michelin RFT's is worth it for better grip/handling and less road noise. Apart from the BP Ultimate it likes to "sip" the only other expense apart from the new rubber was £170 for an oil and filter change! I thinking of switching it out in the next 3-6 months for a 335d!
Oh yes back to that E60 I owned for 9 months, the car also had many faults and spent a lot of it's time in the workshop during which time I sampled a few other beemers courtesy of BMW, but the final straw for me in getting rid of it was when the heated seat over heated and burnt my bum!! No car deserves to be kept after a stunt like that!
E91 335i M Sport