Generally I start with the character's race and other aspects of the concept and, as the original poster said, play with syllables until I find some I like. If I'm planning on doing a "voice," as with my current dwarf character, I make sure the name fits the voice. I also like sobriquets or other indicators of class, origin, and so on. Some of the names I've used recently:
Tokorov Garakdûr-kût -- Dwarvish is full of hard sounds, so I made the name sound like gravel. I invented the "-kût" suffix to the clan name to indicate "extinct." I do a gruff voice in a Dwarven accent (Russian analog), so I made a pseudo-Russian given name.
Quayjaer Darkshriek -- Pronounced "Kee-JZAIR." A Drow evoker, specializing in sonic spells. One of the few characters I've ever deliberately munchkined, so as to survive RttToEE. All Drow in our worlds have the "aer" syllable somewhere in their names.
Kamjen of the White Well -- Not much to this one. He's a human cloistered cleric/necromancer/mystic theurge, so I wanted him to be a little mysterious and creepy. None of the other PCs yet know what or where "the White Well" is ... mainly because neither do I.
Titus the Unfated -- A half-orc barbarian "created" (along with the other PCs) from memories of heroes from the distant past by a remorseful Tatiana to save Strahd from his vampiric fate. During the mini-campaign, we discovered we all shared Tatiana's soul, and weren't "real." Titus is very intelligent for a half-orc, and raged (sometimes literally) against this, becoming quite the existentialist in the process, and earning the addition to his name. (In the last session, he had to take a quite literal leap of faith to propel the mission forward.) Since we all lost our memories on being woven from nothing, Titus named all the PCs ... since orcs in our games speak a Latin-analog, we all ended up with Latin-ish names: Maximus and Fidelis are two of the others.
For quick NPC names, I typically just take a common real-life name and give it a little twist to make it sound less modern, but still clearly a name. "Scott" might become "Escot," or "Kevin" become "Kevil."