Hmm... I think I'll go with these three bosses (in no particular order):
#1) Egg Dragoon from Sonic Generations
(I'm starting to sense a pattern here...) As the penultimate boss fight of the game, I felt that Eggman's Prototype-1 was a fitting choice, and I found it to be a very fun boss fight. Also, as Skye said, you get the choice of many different tracks (though the Dragoon's remix is still good), my personal choice being 'Un-Gravitify' from Riders 2. Of course, that's not to put down the original Werehog fight either, but I found this one more enjoyable. Time Eater, on the other hand...
#2) Egg Salamander from Sonic Rush
"Too black, too strong, too black, too strong..." Facing both Eggmen as Super Sonic & Burning Blaze was very enjoyable for me, as it felt like a true 'final countdown' fight, as losing would result in Eggman either taking over both dimensions, or destroying them in Eggman Nega's case. Also, the interactions between them, both before and after the fight, are fun and intriguing at the same time. Seriously, pay attention to what Nega says... he's not everything he claims to be.
#3) E-101 Beta Mk.II from Sonic Adventure
Less on a gameplay perspective, and more story-wise, this fight really sticks with me. As E-102 Gamma, you've 'rescued' all of your 'siblings' by releasing the Flickies inside them. All except for two: E-101 Beta, whose been upgraded and is ready to beat you... and Gamma himself. You know what the outcome will be; both robots must destroy each other to save the other. And as you finally seem to defeat Beta, he shoots you right in the face. What follows is a very touching moment, one of the best in the series if you ask me. You could argue that I'm looking too deep into the subject (...again), but I still stand by what I've just said.