I've been riding for a year, getting a fogged visor in cold or wet weather. I've tried the sprays and i've tried the film thing and couldn't get on with either. The best I could do was to leave the visor open half an inch.
I finally got a Respro Foggy mask a couple of weeks ago on a whim. Should have done it a year ago, it's amazing how much faster you can go when you can actually see.
I did have a bit of a breathing panic the first time I rode with it. Took a big breath and the foam rubber got sucked onto my mouth. Adjusted the mask properly and haven't had a problem since.