The best thing I have found is UltraLuster. It has 4 polymers. Two that coat dirt particles and makes them smoothe and slippery, then 2 more that leave a nice finish.
Just spray on, buff with a new cotton wash cloth and buff until the haze disappears then finish wiping with a microfiber cloth. Will remove dirt, bugs,and road grime without scratching the windshield. I have used it and now sell it.