My preference is contact lenses and Oakley M-Frames, which I've recently combined with a Giro Air Attack with shield. The clear shield saves carrying multiple lenses for the Oakleys since I can just remove them and wear them backwards around my neck in the evening.
If I was starting from scratch and couldn't wear contacts - I'd just go with the Giro, regular glasses and two shields (tinted / non-tinted) for the Giro. Initially looks expensive for a helmet but given the prices of most of the alternatives - its a bargin.