Time for shouting "king's naked!" comes eventually but people who ignore timing will end up losing this game. The secret to this is to understand how other decision-makers see the status quo. Who made a bet on this person? Who understands that he is THE problem? Is right now the best time for a direct opposition?
And sometimes it's just easier to accept that it may make sense to work elsewhere.
Before he could infect another group with his special touch I politically maneuvered him into the most boring of tasks that no one wanted to do. He had run the one project into the ground. At the right moment I used his own triangulation manipulation bits on him. I had to become that which I despised to basically take him out before he did too much damage. I had him shunted off to a task that if it was done no one cared. It was a pity too as he was a competent programmer. But had too much of an ego to listen to the other decent programmers around him.
Moral of that story? There are jerks out there that will take out a well functioning team and not even see they are doing it. Beware of them. The world is not broken. But there are those who start fires because they like to make messes.