At least as far as the TV show is concerned, she’s pretty villainous, I’d say. There’s a complete lack of scruples, and of sympathy towards anyone who isn’t family, and she’s sadistic and vindictive towards Tyrion even before she has - from her PoV - good reason to be. She’s power-hungry, she’s a plotter of intrigue and secret murder… she pretty much has all the defining attributes of a villain.
There’s antagonists to the Starks who aren’t exactly villains - Stannis, for example, plays an antagonistic role at some points, and he does some pretty heinous things, but without ever becoming a real villain. And Jamie is actually a great example for an antagonist (most of the time) who is not a villain. Even though the very first action he takes on the show/novel is a decidedly villanous one, and he’s the one character who is defamed as a villain throughout Westeros.
I think that’s exactly it.
The best villains are always the one you can relate to, at least up to a point. Every villain should be the hero of their own story. And I think Cersei very much is that. Tragic hero, though, of course. I really did feel for her last season, when Tommen jumped. Given that her greatest, defining motivation was protecting her children, it’s just spectacular how badly she failed. I can’t imagine what she will do next. Except that it probably won’t be good.
The same goes for Littlefinger, by the way. He, too, has a backstory that makes us sympathetic to him (of a great love spurned), he too has an agenda that from his point of view is probably a hero’s story of rising from nothing to greatness. He’s clever and witty and likeable, too, sometimes. He’s a great villain especially because it wouldn’t take much for him not to be one.