Four different words, same meaning. Both according to Wiktionary as well as Google Images. Which one's preferred in regular speech in Mexico? I don't want to know what official dictionaries or RAE say. I want to know what people say.
In North México we say "lentes" for glasses, and "lentes de sol / lentes oscuros" for sunglasses.
This Ray-Ban site for Mexico is using
gafas de sol for sunglasses, but
lentes for the lenses. Costo México seems to be using
lentes for both seeing glasses and sunglasses. It seems Mexican Spanish favors
lentes but they understand both
If you want additional info about other speaking countries:
Lentes oscuros pa' que no sepan que está mirando sunglasses so they don't know what he is looking at
Lentes is widely used and understood in Latin America.
In Spain, where I'm from, we use
gafas for seeing glasses, sunglasses and even googles and the like (gafas de bucear). If you are putting them in your face, they are called
Lente (in singular) can be used for each one of the glasses that are part of an optic instrument, such a telescope. Although
lentes in plural, could be understood as a word used to refer to eyeglasses, spaniards don't use this word to refer to eyeglasses. "lentillas" is a way to designate contact lenses (lentes de contacto).
Lentes, anteojos and espejuelos sound archaic in the Castilian Spanish. Hearing the word makes me think of really old fashioned glasses. To add confusion, according to the DRAE the "espejuelos" can also be the lenses that are put in the "anteojos", but can be understood as a synonym of anteojos too (as opposed to the gafas, which are cristales put in a montura (frame). It seems that gafa (in singular) can also be understood as the piece used to hold the anteojos to your ears).
I think that the first 3, although have different matices in different places, can be understanded if you interchanged it; with the last one ("espejuelos"), at least in Argentina, I think you won't be.
"Anteojos" (before eyes) is a very descriptive name, that can be understand by anyone who speak Spanish. AFAIK, it's only used for the complete device.
"Gafas", which also refer to the complete device, although not used in some places, it is known in many Latinamerican countries because of Spanish and Mexican movie translations.
"Lente" in a stricto sensu refers to the pieces of glass which has some optical properties (meaning in Physics). In some places it is used colloquially as the whole device.
But "espejuelos" literally means little mirrors; so, if it's not used with that meaning, it will be very confusing.