I don't think Denethor is up there in league with Morgoth and Sauron. Sure he's not the best parent in the world, but he's not that evil either when it comes to his character overall. Actually, there's much more to the man's character to even allow us to sympathasize with him. He watched his beloved wife Finduilas waste away to an early death and has been reminded of her presence every moment her likeness (in Faramir) walks into the room. He's also lost his firstborn son, Boromir, who symbolizes the bravery and strength of the kingdom of Gondor. And, to top it all off, he's about to lose his throne--whether to the rightful king, Aragorn, or to Sauron in defeat.
Sauron indeed did a good job of twisting his mind to insanity, but it obviously wasn't Denethor's choice. If he was that evil, he wouldn't have experienced such grief when Boromir died. He shouldn't have cared that much.
If he was that evil, he should have been in league with Sauron, just like Saruman. He shouldn't have even bothered to defend Minas Tirith. If he was that evil, he should have sought for complete power and total domination. He should have ordered the killing of thousands of people already.
He was a villain to some extent just so we could have a variety of different characters with their own internal struggles, and also so that the LOTR books and movies could have some twist and more dramatic impact. But being a villain to some extent doesn't necessarily mean that you have to be totally evil. Denethor wasn't at all...he was just a psychologically and emotionally challenged character.
I can't believe that Saruman could be considered as more of a good guy than Denethor.