I've used Virtuemart on a few sites connected up to payment gateways like WorlPay and PayPal and it does an admiral job. The depth of the product is, in my opinion, where most people slip up - this is a complex and full featured product that offers similar functionality to many commercial applications. You need to spend the time to understand how it is structured to get the best out of it.
There are a few 'quirks' mind. Some key aspects are rather clunky and the lack of an easy mass upload function (you'll need to do a MySQL upload) could certainly be improved.
All said this is a free piece of software that is comparable with most commercial ecommerce applications. For that it certainly gets a strong recommendation from me.