One obvious example is “queer.” Once used as a horrible insult, implying you were homosexual. It’s been turned into a neutral word by “Queer Nation”
Long before it meant “agreeable,” nice had a slew of negative meanings that are now obsolete or rare: “foolish,” “weak,” etc.
“Shine” has completely lost its pejorative sense.
“Occupy” was once considered too sexually suggestive to be used in polite company.
“Geek” is now a badge of honor for the most part.
Vixen. Originally it meant “an ill-tempered or quarrelsome woman”. These days when I hear it at all it’s used to mean a highly attractive, sexy woman. I think it’s because of linguistic bleed-over from “foxy woman”/“she’s a fox”, combined with “bitch” taking over for the old meaning of the word.
Decadent - then, it meant sometime decaying and sinful, usually Roman society or something. Now, it means really “sinfully” good chocolate.
I suppose, like how awful became increasingly a dysphemism, “awesome” originally had more elements of fear at what you were beholding.
And nice used to be spelled niſe, of course.
And, before that, it was an innocuous synonym for “weird”.
Similarly, “hacker” is often used these days to mean “skillful” as much as to mean “criminal,” and not just in the hacker culture (so to speak).
One might argue that it became “neutral” exactly because it was so offensive, and in the Queer Nation style of usage, remains neutral (or actually, a badge of pride) only as long as it’s offensive (in the general popular usage). This dynamic happens when a group like Queer Nation adopts the word as a gesture of defiance against the popular rampant homophobia.
I think “fond” used to mean “foolish.”
“Yankee” was originally a derogatory term. There are still people who use if that way but most Americans (at least outside of the South) don’t have a problem with calling themselves Yankees. And it’s generally a positive term in New England (except in Fenway Park).