The cleanest I ever get windows is "Blading" them with a literal razor blade. I use a vinegar solution for most window cleaning, but if they are really gross, add a few drops of cheap dish detergent.
Set your spray bottle to a fine mist. Spray one layer across the top of the window.
Start with a microfiber cloth to get most of the dirt off wiping from the top down, misting the window as you go.
Once the first pass is done, re-mist the window starting again at the top, then use your razor blade to move across the top and then start from that stripe down, overlapping your path.
Do clean the blade occasionally with a clean cloth.
Doing this correctly will let you achieve a clean that it's far superior to wiping work a cloth.