It's based on supply and demand. An e46 with the right package and specs (msport/individual) in good condition sells for a premium because they're becoming harder to find by the day with increasing demand. In terms of ride I think the e90's are more refined making the e46 more of a drivers car. That said I think you'd have better luck finding a good condition e90 than a good condition e46 because the market is more flooded with e90's. I think the e90's are great, but the e46's hit all the right spots and is well balanced in terms of ride/power and comfort. I would take a full spec e46 330i over a base spec e90 320-325i, but if budget allows I would take a decently specd 2007 upwards e90 330i. I also don't think it's fair to compare an e90 320i with an e46 330i. It may be better to compare an e46 330 with an e90 325 but then they're sold in slightly different price brackets.