I use dawn dish soap to clean the windshield followed by application of a silicon car polish. Cleans the crud better than anything else I have used. As to rainex its ok but the silicone I find is much better as it seems to fill the glass imperfections making it very smooth and lasts longer than the rainex.
The use of microfibre towels is also needed instead of just any rag, Tshirt etc. The microfibre towels also work well with the polish to apply then wipe down. Dirt-dust will be removed just by turning on the wipers without the spray and a damp rag is all it takes to clean the windshield again.
FYI I used the above on school bus windows for over 10 years, they stayed cleaner longer even in Az heat and dry.