If you're getting streaks, it's because you haven't cleaned enough - Windex or any other glass cleaner.
To not get streaks with Windex on very dirty surfaces such as a car windshield you need to apply enough that you leave a bit behind as you wipe, then apply a bit more and use a new, clean cloth/towel/newspaper to wipe as much of that up as possible. The remaining Windex will then evaporate without any streaks.
I think the real key when cleaning glass is to make sure it is not too hot when you are cleaning it. Otherwise the cleaner evaporates before you wipe it up, leaving the dirt behind as streaks.
I really wish someone would tell me how to easily clean the inside of the windshield, particularly near where it meets the dash.
The way they do it in the business is simply water and dishsoap. You use one of those raggy sort of sheep looking things(or simply a rag)and then take a squeegee to get the water off.
This is how I wash the outside of things like my car or house and nothing even compares, newspaper, vinegar, windex. It all fails.
But if you can't use this technique you just use windex and rags/paper towel. Don't do it in wind, or super bright sun. The alcohol in the windex will evaporate before you have to time to clean. If you are leaving streaks with this, you are doing it wrong. It is designed to evaporate away and not leave streaks at all.
A window wet mopped with water and a few drops of dish soap will wipe clean with a squeegee.
The only important thing is the make sure the blade is sharp and you make a seal on the edge of the glass. Paper products of any kind will just push dirt around and at the end of the day when that long sunset light filters through your windows, you'll see all the smudges and swirls you left on the glass.
Get a squeegee and learn how to use it.