I have found that my undead lock, full affliction, is the best for me for PvP. My hunter has the extended range and does really nice damage but within that 8 yd range, he is damn near useless unless I have traps down, scattershot up etc. Hunters just don't melee all that well I have found.
My warlock, on the other hand, has 3 insta cast dots, an insta cast aoe fear, deathcoil, 2 2-second dots and another fear, not to mention lifetaps and mana taps. And those can be cast at melee range, unlike huner shots. Yeah, he dies a hell of a lot more as a clothie but there is nothing quite as satisfying as seeing an ally paladin, warrior etc back up when they see the lock coming at them. Or fear bombing the flag when the priest shields you and seeing them scatter for your team to pick off. Or jsut fear bombing anyways, regardless of shields or healing. That just amuses me to no end - bandaid wearing bonebag rushes flag - fires fear off, ally scatter, horde caps as warlock dies, warlock rezzes and runs back to repeat and harass ally. Then drops that unstable affliction and watches the priest get a DD and silence when she wipes it off....
Just my opinion but, if you want a good class for pvp, I would suggest a lock. But be prepared to die....alot. Locks can really tear it up with them dots since you can drop them on every player you see until you are oom but it also makes you a "let's kick that guy's ***" target quite often. I haven't pvped with my other 5 characters so I don't know how well I would do on them.