I frequently run fairly complex encounters, especially now that my group's PCs are in the upper teens. While I almost neve run straight solos, if I have more than 8-10 monsters I'll start looking at the mob rules. Sometimes I'll customize attacks like giving a mob of zombies special overrun capabilities. I also use average damage for everything, sometimes even noting what average crit damage would be.
When I do run boss-type monsters I typically still give them a minion or three. I try to give them interesting things to do and think about how to describe lair actions as preset traps, or non-combatants that pop up/in and trigger things and so on. I will also give the boss monster (I refuse to abbreviate that
) some ability to move around or change the environment to their advantage.
Simple example was my 17th level group against an adult red dragon* and an iron golem. The group was in a somewhat constrained space and the dragon could fly around (and eventually flew away). But as he was breathing fire, he was simultaneous healing his golem buddy and starting fires that he could push people into. It was a tough fight for the group because it wasn't the first (or last) encounter of the day. I could have made it even more difficult if I wanted by having him do things like grab someone fly up as far as he could and drop them, preferably into one of the fires. But while my group is a lot of fun, they aren't particularly tactically minded.
So my rules of thumb? I almost never have a single creature. It's almost never worked in any edition. Think of ways to make the environment interesting, and this can include the PCs taking advantage of it. For large number of monsters, use the mob rules. Don't be afraid to tweak the monsters a bit if you have more than 4 PCs. Try to figure out how to make sure every one feels like they can contribute. This is in part just getting to know the group, I want people to feel like they can make a difference, at least most of the time.
Last, but not least, even boss monsters should have an escape plan most of the time. That lets me cut fights a bit short if they're starting to drag and it's also just logical. Given the option most intelligent creatures will not fight to the death. Of course if the PCs can stop the BBEG from running away, let them!
*I do increase legendary action points a bit because it's a 6 person group, but that's about the only change.