The last pair of glasses I bought at LensCrafters had an option for a new coating -- instead of the standard scratch-resistant coating. The salesperson gave me a demo. Water on the lens was cleared by a simple breath of air.
It was expensive -- IIRC, about $60 -- but it works and was worth the money. I was hiking in the mountains in heavy rain today for nine hours, with and without a brimmed hat, and never had to wipe my glasses once. Water beads away like the lenses have been treated with Rain-X. It's not perfect, but it's the best solution I've found.
I assume it works better riding a bike due to the air flow, though I've only worn them riding in light rain -- and it worked well.
I believe the name of the coating is
Nikon HCC ICE, but I'm not sure. If it's not that, it's something like that. It's a combination scratch-resistant and hydrophobic coating. Ask your local eyeglass store for a demo.