It may be your technique which needs work. Using two CLEAN micro-fiber cleaning cloths is a good way to go. You'll want to use one which has a short nap and the other will be a waffle weave pattern one. Something like these:
Short nap:
Waffle weave:
The first one you use for cleaning with your choice of cleaning solution. The first key is to not use too much cleaner. The second is to spray the cleaner on the short nap towel (this keeps overspray off of your dash). You need enough cleaner on the towel to be moist but not dripping. Use the short nap towel on the window to clean the surface. It works better if you do this underhanded from the passenger side of the vehicle.
Once you have cleaned the window with the short nap towel, use the waffle weave towel to clean the any residue off of the windshield. You may need to work this around a little bit, but the waffle weave will do the job. Continue finding clean spots on your waffle weave by folding and refolding it. This will help with finding all of the grime.
After you use the waffle weave, use some RainX anti-fog like @RoryAlsop was saying. This will help with the fogging and with any recurring buildup.
The Chemical Guys have a video which explains it pretty well. I have it started at the windshield point, but you may want to watch the entire thing. They (obviously) are promoting their products, but the method he uses is pretty good.
As an aside, you don't want to use ammonia based cleaners anywhere you have tint, as this can damage the tint. I saw one guy using a spray bottle full of water with just one drop of dish washing liquid in it ... works pretty good.