Thank you for using Sitefinity.
Unfortunately there is no easier way and doing this via the way Jochem specified won't work for custom fields because they're not included in the base queries. Since product types house custom fields product type default fields are the only ones included. It's a performance decision.
6.0 does make it easier to query for custom fields to sort/filter by but it still requires you to override the widget or a couple classes. Again, that's only in 6.0. If you're looking for that I can provide guidance but it does require a decent amount of custom code.