A couple things...
First cleaning glass to be perfect is hard and a pain...
Second, anytime you're cleaning glass, the goal is to remove whatever is on the glass off the glass. One tip I use and share goes like this,
After doing the initial cleaning, if you're successful, you now have the film or gunk off the glass and onto WHATEVER type of wiping cloth it is you're using.
Stop using it.
If you continue using it you're just re-introducing the gunk or film back onto the glass. Always have plenty of clean, dry cloths and switch to a clean, not been used yet, cloth for your final wipe.
The above is for normal glass cleaning. If you come into a situation where there is something more substantial on the glass, either inside or outside, then it's time to get away from a simple liquid spray-on glass cleaner and switch to some kind of cleaning polish or compound.
We have some products like this in our Diamondite line, as mentioned Bon Ami is often used.
The idea now is to have something with some "bite" to it to gently abrade the film or gunk off the glass without scratching the glass.
Then, AFTER the heavy lifting is done, then use a glass cleaner to remove any residues left by the compound, polish or Bon Ami or whatever....
I've used M04 for probably 20 years as I come from Oregon and that's rain country and all the daily drivers in Oregon tend to get water spots on the outside of the glass and a normal glass cleaner will NOT wipe these types of spots off the glass, they must be abraded with something chunky that also won't scratch glass.
And... the film normally inside of a "new" or "newer" car is called Vinyl Fog and it's all the carcinogens and other ingredients in all the plastic an man-made components out-gassing and depositing on the inside of the glass.