I had smeary windshield wipers. Here's what works for my STi, and prior to that, on my '02 WRX:
. Cleaning the windshield:
Use pure, clean water with a touch (smidgen!) of soap for grime, and a healthy dollop of either borox or vinegar. Buy a *new!* window washer/squidgee with a straight edge on its rubber. When you store it, store it rubber-side up and keep everything away from it to prevent any bending or creasing in it. If you get a nasty crease in your squidgee rubber, it's useless. Really.
Rub down the windshield with the washer side so all visible specks of dirt dust and grime are loose. Spin the washer around, and carefully and with a smooth motion, wipe it across the windshield in horizontal stripes.
Warnings:
i. If you hear ANY squeaking whatsoever, you need more liquid on the windshield or you need to move your squidgee faster.
ii. You will need to overlap your squidgee strokes a good 1/4 to 1/3 of the width of the squidgee because of the curve of Subaru windshields.
iii. After you're done with the squidgee, please wash off the washer side, too.
iv. DO NOT use ANY cleaning product on the outside of your windshield!
v. DO NOT use ANY cleaning product harsher than a water+vinegar solution to wipe your windshield wiper blades down.
Anyway, you may have to wash your windshield like this five or six times: in the right light, you'll be able to see either rainbow colours behind your wipes, or a clean windshield. Keep going until the rainbow colours are completely gone. These are dried oil and petroleum products that have likely ingrained themselves into any microscopic scratches in your windshield over years of using your windshield wipers in nasty weather.
Then, keep going until water sheets on it and doesn't bead anymore.
Finally, wipe down your windshield wipers with a paper towel moistened with the cleaning liquid you used.
On the inside, it's almost impossible to use a real window cleaning technique. Luckily, you can get nearly as good results with Windex or Eagle
1 and some serious elbow grease.
Take two good-sized sheets of paper towel, times two. You'll need a wet and a dry, follow-up wiper.
Apply the product to the inside of the windshield and wipe down the most obvious dirt and make sure you don't let any of the drips get down to the dashboard. That would suck. You do NOT have to wipe it dry with the first rubdown.
Roll up your second, dry, follow-up wiper and dry-wipe the windshield.
Now comes the hard, annoying part. You'll need just the right light for this: you'll need to be able to see the inevitable smudges left behind by the less-than-perfect glass cleaner you used. Usually at night with a bright off-centre light is best..
Over the entire window surface, you're going to need to polish with a circular motion. The more fresh paper towel you use, the better you'll be able to polish. Polish everywhere. Carefully, firmly go over the entire inside surface. You'll never get it all, but with enough polishing you'll be able to get it clean enough that the human eye will at least be happy.
It is *NOT POSSIBLE* to manually clean autoglass that's been exposed to fingers or human skin oils and the crap sprayed up by other cars, to perfection. The best you can do is sheeting water, a nearly-perfect windshield wiper cycle, and better visibility than 99.999% of all the other people out there on the road.
After all.. *they* just live with their nasty, dirty windshields and dump windex all over them and wonder why their windows aren't as clean as the t.v. tells them they should be.