Playing RAW using only WotC stuff, it's pretty hard. Frankly it's pretty hard to do
I give all "boss" type monsters complete immunity to all crowd control spells/abilities (and tell the players beforehand so there is no guesswork and frustration on their end). It's not that hard to balance fights if you know your BBEG will actually get to use its actions and legendary actions without being chain stunned / polymorphed / banished. Damage is pretty easy to estimate and keep balanced, it's the variables around how high level spells subvert the action economy that make balancing fights so difficult.
Yeah, it's pretty hard to challenge high level parties RAW, especially using only WotC resources. I never considered just... ignoring all CC abilities. I don't imagine my players would enjoy it.
Even 3 legendary resistances aren't much- they basically extend the fight by one round.
As happens in my campaigns, the characters in my 12th level Empire of the Ghouls campaign have hit the point where they're able to mitigate a lot of the threat of big battles.
With ten years of D&D 5e behind us – what are your best approaches for keeping up challenging combat encounters for high level characters that don't take two to three hours to run?
What are your favorite tricks that keep the threat high but don't take agency away from the characters or the choices the players made in building them?
OK so let's see what's regularly recommended:
The issue with using "lots of enemies" ends up being slog. Great- I can include a lot of enemies to challenge them, but it's going to make this high level fight take an entire session, and it wasn't even an incredibly meaningful fight.
OK, so only have meaningful fights... at high level..... so that means that you're going to be looking at 1 fight/day. So they party can really go full-tilt and alpha strike it.
I mostly run a5e now, which is great- I love the monsters and the balanced spells, feats, etc. except a5e gives martials the ability to stun (stunning assault maneuver), or blind for the combat without a save (berserker crit).
The best answer I can give is
"use multiple big threats at once." At least that way your fight won't be super bogged down with lots of minions, and the party has to decide who they're going to focus on first.
But
not taking 2 to 3 hours to run? At high levels? AND challenging the party? ... Nope. I got nothin'.