The main cause in the winter months is the windscreen being cold. This causes the air in contact to it cool down, releasing the moisture it contains onto the screen. Blasting warm air at it should normally solve this problem.
However, the other, year round, cause of a steamy windscreen is excess moisture in the car. It’s not a particularly nice thought, but this is caused by the breathing and sweating of the occupants, its essentially water that used to be inside you, on the screen… But don’t worry, it’s easy to get rid of if you have aircon. It’s a common mistake to think that just hot air will solve it since it won’t remove any moisture from the air, and the windscreen will need to be significantly warmer than the surroundings to evaporate the water.
Just doing this leads to the characteristic small ovals of clarity right over the air vents, that grow irritatingly slowly and give you back ache hunching over the wheel. This is because it takes a lot of heat to increase the temperature of the glass. However, as demonstrated by the new Dyson hand dryers, dry and fast moving air is the answer. The compressor in the air-conditioning unit removes all moisture from the air it circulates. This means if you have your aircon on, you can blow dry air over your screen, which should remove the moisture much more effectively.
For extra effectiveness, turn the air-conditioning onto recycle, this will gradually reduce the moisture in the car in general, speeding up the unsteaming process. The more you know!