The best way to clean glasses is with your fingers using warm water and dish soap. Don't use super hot water, it can damage the coatings on some lenses. Start with a rinse to remove any particles, then clean them between your fingers, then a final rinse, shake them off and let them air dry.
Using any type of cloth can cause scratches as you've found.