That's an interesting bunch of female characters who all have something to offer except Harmony who would also certainly get my least favourite villain vote (as well as plain old worst villain) because she was a vapid, boring, sex object (gee thanks).
If I was including Angel then Lilah Morgan would be in contention but I'm not so she isn't.
Drusilla was hilarious and did kill a Slayer but she didn't interest me enough as herself. Darla was more of an Angel character. Glory was funny but Clare Kramer was too nice to make her properly villainous. Sunday was good fun but one episode isn't enough of a run (ditto for Inca Mummy Girl, Miss French, Gwendolyn Post and Catherine Madison) to properly count. Dark Willow came at the wrong time and Alyson Hannigan didn't convince me enough. Veruca was too one-note. I was never happy that Amy Madison was turned into a villain. Marcie Ross was not a villain to me, just misunderstood and, well, ignored. Anyanka was a great villain though she was a bit unattractive to look at. Kathy Newman was funny but lightweight. Professor Maggie Walsh was portrayed in a way that only Lindsay Crouse can do: slightly wooden, slightly stilted, slightly insane but since she disappeared from the series before her time was really up, she fails to be make the grade.
That leaves Faith. Faith was the best villain because she and Buffy had fabulous fights; she called Buffy B; Buffy tried to kill her; she was funny; she had great hair; a great attitude; she improved S7 (although she wasn't a baddie then but still); she tried to kill Angel; she was mean to Tara; she had chemistry with the mayor; she danced in that TV sexy way, she looked good in leather; she had depth and I cared about what happened to her. She was great.