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.
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.
Lentes is the widespread common use word for Mexico (i.e. any Mexican will accept the word and understand it without giving it a second thought.) When referring to contact lens the only acceptable form in Mexico is lentes de contacto.
Por favor, dame los lentes
Necesito lentes para leer
Estoy pensando en comprar unos lentes de contacto
Debes usar lentes para el sol para proteger tus ojos.
The word lentillas is not used in Mexico.
Gafas de sol is the most common way to use the word gafas. The word is certainly understood and also can be used for framed prescription glasses but is not common in this way.
The word anteojos is not commonly used. Yet, I wouldn't consider it archaic because some people use this word on a regular basis and most Mexicans understand it. It's maily used for prescription eyeglasses but anteojos de sol is also acceptable.
The word espejuelos is definitely archaic when referring to eyeglasses. I would say that a considerable amount of people in Mexico would have problems to understanding it without giving it a thought.