Wanted to reply to this because I'm going through the same thing! The product object cannot be synced to Marketo because it doesn't have a direct relationship to leads, contacts, or accounts. From support: "They would be able to see two objects down. If the Object B is a child of Object A and Object A is a direct child of Lead, Contact, or Account we should see it."
The best answer I've found for how to rig the system is here: Creating Smartlists with SFDC Product Object Filters
That said, segmenting and Smart Lists based on Product is essential for many organizations and I wish there was an easier way. If anyone has found information that I have not, please send it my way!
Depending on your needs, there's a few different ways to go about it: Justin's method of rolling up data to the Account works just fine, but you can also echo the product values into a special field on the Opportunity, or you can enable Entitlements (if the product is a renewing service or something that needs to have the product expire after x time) and get to products that way (with bonus Entitlement data!) It really just depends on what use case makes the most sense for a given company.