I had fogging problems for years. Went through many goggles, masks, fog sprays & cloths, etc. I think I finally figured out my problem but what a pain in the balls dealing with fogging year after year. I had friends with $20 goggles that their dad's used in the 90's that wouldn't fog, but my brand new $120 pair would.
First, find a pair of goggles that fits your face properly without any air gaps. I found that my pair wasn't completely sealed around the nose and my temples. It also helps if the goggle foam is only touching your face to seal properly. I found that if I wore them over my hat or face mask they would fog.
Second, I found that the mask I was wearing was blowing my hot breath up in front and under my goggles. After 3 masks I found that an under armour mask let my breath blow out and not up into my face.
UA ColdGear® Hood | 1223223 | Under Armour US
Third, do not take the goggles on and off a lot, and do not keep them on top of your hot head when they are not on your face, unless you're wearing a helmet.
Fouth, do not rub the inside of the lenses either. If you must clean them, blot them with the goggle bag. If you must dry them, use the hand dryer in the lodge bathroom.
I also had better luck if I stored them in the outside pocket of my jacket when I wasn't wearing them instead of an inside warmer pocket.
That should solve your problems...