I'm running a D&D3.5 game and just about everything I throw at my players gets sliced and diced and thrown over their shoulder like it was nothing. This -INCLUDES- high level boss fights.
Welcome to the board, and thanks for bringing up one of my favorite topics: knocking PC's down a step.
There has even been more than one occation where one character or another got separated from the main group, and managed to take on an entire combat encounter, designed for the whole group, by their lonesome.
Let me guess how you got into this situation:
1) You accepted a large amount of splatbooks into your game, letting your players optimize their characters heavily.
2) You've been throwing the players into straight forward fights involving basicly empty 40'x50' rooms, flat terrain, and against monsters which are recognizable to the players and have no particularly surprising abilities.
3) Your players have a lot of system mastery but you don't.
4) You've been trusting the CR system.
Any one of those things will get your monsters spanked by a compotent party of players, and you've probably got at least 3 of the problems if not all four.
There is help. You've come to the right place.
Ok, so if you've allowed every official splatbook, feat, class, PrC, and so forth ever printed by WotC in to the game (to say nothing of third party material), you've got a problem that can't be perfectly recovered from. There is too much brokenness out there and while you can compensate by altering the EL of your encounters ultimately this is an imperfect solution. The PC's will either tend to be glass cannons that can knock down monsters quickly but themselves break just as fast, or else your combats will tend to run a bit longer than they might with more opponents that you would have needed before. Neither is a fatal problem, just advising you in the future to be more circumspect about adding lots of non-core material. The more material you add, the more optimized your characters will be and the more problems will tend to result from that.
Two, you're the DM, so you're going to have to get a degree in, to use the technical term, bastardy. It is an essential skill of DMing to be able to not miss tricks, challenge your players, and generally make life (as thier character) rough on them so that the moments of triumph will be all that much sweeter. I find that there are several important skills in this. Some of those skills are hard and will come with experience, but others just require a change of mind set and you'll be able to adopt them readily.
* Force the characters to fight in terrain that favors the monster. Have the encounter occur in a place with pits and drop offs, bogs, pools of water, slippery surfaces, ledges, moats, and so forth that force the players to fight at a disadvantage and a potential risk. Use the monsters climb speed or flying ability or stealth capabilities to make the fight less straight forward. If the players like to charge, because to have the terrain littered with rubble and uneven surfaces, so that charging or moving quickly without falling down requires jump or balance checks. This makes your combat more exciting and will tend to throw your players more off balance as well. You'll also be surprised I think to discover how much something like obscuring mist confuses players if you take away their minatures and the map and instead move the minatures and the map behind the screen and ask the players to play without perfect information. Total darkness is even more 'fun'.
* Disguise your monsters. Instead of saying, "You see a wraith.", or "You see a manticore." simply describe the monster in generic horrifying ways. Better yet, redress the monster stat block in a totally different monster. It's perfectly all right to have a stone giant stat block, and yet describe the monster as a tentacled horror from the dungeon dimensions spitting its teeth at the players. The reason for doing this, beyond keeping the encounters fresh, is that one of the reasons its hard to challenge experienced players is that if they have perfect knowledge of their foes, they tend to have a canned perfect plan for dealing with it as well. If they don't have perfect information, then they'll tend to hestitate, become confused, waste actions, and loose party cohesion even when on paper the fight is in their favor because they don't know that it is in their favor. This gets even easier when you drop templates on the stat blocks. Be creative. I find that for a lot of DM's that are tactically challenged, creativity isn't something that they are lacking.
* Learn to think tactically. This is a hard skill and you won't get it immediately, but if you come back frequently and ask 'How should I run this encounter in order to maximize the difficulty', I'm sure you'll have no end of people wanting to help. As a primer, try this thread:
Playing monsters smart.html
Three, and on a related point, learn the rules. You're going to have to know the grappling rules by heart. You're going to have to know the tricks as well as your players. The good news is that you have the perfect teachers - the players themselves. Whatever tricks they pull, you pull right back. The players will teach you how to optimize your villains for you, and how to maximize tactical advantages. You just have to copy their lead.
Four, learn the limitations of and how to abuse the CR system. In general, humanoids are vastly over CR'd, especially when they aren't optimized. Instead, advance monster HD to make nastier monsters, or apply templates to a monster where the template specifically makes up for one of the monsters real deficiencies. For example, a gelatious cube is limited mainly by its speed, so a template that improves its movement rate is going to be of much more help to it than the CR modification normally indicates. A template that grants fire and acid resistance is going to turn a lowly troll into a undying terror. Templates that grant flight and/or resistance to mind control to brute monsters will stop the easy tricks to get around them. And so forth. Also remember what the CR system doesn't track well. An ogre and an ogre in a breastplate with a masterwork two-handed sword are basically the same CR, but one is the much harder fight. Fourth level fighters with masterwork longbows are a much different fight if the party is trapped in a corridor and the fighters have 90% cover behind arrow loops, and a few have flaming oil, and so forth. Try to get as much bang as you can for your buck. As a general rule, when trying to challenge my players, I tend to avoid single powerful opponents. My favorite challenges usually involve pitting a party of say 4 against four to eight foes of roughly CR = party level - 2. So if you must use humanoids, keep in mind that if your party is level 10, twice as many level 8 NPC's operating as a team may turn out to be a much harder fight than a single level 14 NPC. Or at the very least, chances are they won't go down to a single bad die roll the way a single foe might. And as another positive effect in my opinion, it reinforces the idea that the PC's are pretty special rather than the idea that everyone out there is higher level than they are. Mixed groups of monsters and humanoid villains work pretty well as well.