I been battling foggy glasses in Minnesota for over 40 years. Ski goggle cause my glasses to fog up worse than if I don't wear goggles. Face shields on a motorcycle helmet are even worse. I found a commercial product at the Atlanta airport about 12 years ago that ******** fogging. It was a pink paste that worked well but cost $5 for a little amount. A few years later I found out that it was just soap. Yes, plain old soap is the best thing to minimize fogging. Even with soap the glasses can fog but it is harder and they clear quicker.
Take a small amount of soap and rub it on both sides of your lenses. Then wipe it off with a soft cloth. Do not wash your glasses or you will just wash the soap off. If the soap leaves your glasses cloudy then you used too much or else you used a soap that is not very transparent. If so wash it off and then try again or use a different soap.
How do you prevent eyes from watering? When the wind blows from just the right direction, it gets under my glasses and starts the tears. They cause my vision to cloud up and a couple of times when the temperature was below -25 F I blinked and my eyes froze shut.