Having used just about every OpenSource cart, my pick would be magento. Just about the only downside to it is its speed and resource hog, but easily managed with a few tweaks and better hosting configs.
Prestashop is lighter, faster. However, the development community doesn't match that of Magento's yet. Developers are French, so things get lost in translation. The 'addons' are almost always paid and stuff that is standard in Magento and OsCommerce/Zencart is highly overpriced. You could get a good PRestashop, but you'll be paying money for it!
Os/Zencart are way oldschool. The coding and look of it shows, regardless of what theme you are using really. Zencart 2 is promising, but people are ditching Zencart and OsC in droves because its so dated.