It is with a heavy heart that I pass on this link, in which Anne Curzan reports that many of her students think "a sight for sore eyes" is a negative expression:
I have polled several classes since. In each, while more than half the undergraduates welcome a sight for sore eyes, a significant percentage uses the phrase to refer to something (or someone) that is a mess, ugly, disgusting, or otherwise capable of making the eyes unhappy. I recently asked some folks under 15, and, while I will admit there were only six of them, all six of them believed “sight for sore eyes” was negative, not in any way a compliment or a welcome sight. [...]She is, of course, absolutely correct, and the descriptivist half of me nods vigorously in agreement. The other half is running around in circles bellowing in fear and loathing, but I know from experience that after a while it will run out of energy, lie down and pant a while, and then get on with life, wincing only occasionally.When I’ve told people about this change in meaning for the idiom, the most common reaction has been: “But that doesn’t make any sense.” And with this comment, they dismiss younger speakers’ reinterpretation of the idiom.
I would not be so quick to dismiss it. First, idioms don’t have to make sense. By definition, idioms have a distinctive meaning that cannot be inferred solely from the meanings of the words in the expression. Think about “a can of worms” or “beat around the bush”—the latter of which has shifted semantically from its origin: beating around the bush was how hunters got the birds to fly out, which was the goal; the goal was not to beat the bush itself (in other words, beating around the bush was a preliminary activity, not an avoidance strategy).
Second, it is easy to see how younger speakers got to this meaning—that is, I’m not sure it “makes no sense.” They are just reinterpreting how the word “for” functions in the phrase: it is a sight that creates sore eyes, just as a phrase like “a pen for calligraphy” is a pen that is used to create calligraphy.