i think for just 2-5 thousand more, it's worth it to go for the e90 330i sport. i personally ahve the e90 330i sport and while shopping for my car, i did test drive several well maintained e46 330i zhps. the e90 had noticeably more power and it just felt smoother as a drive.
but if you can find a e46 m3 for around the same price i'd definately go w/ that