Sheen was man of the hour as a host of A-listers lined up to pay mocking tribute, poking fun at his career and his rotating roster of girlfriends at a TV taping in Culver City, California.
Rocker Slash played the guitar as Sheen took his place in the hot seat, while host MacFarlane introduced the honouree as "a man with a big heart, because it's been dangerously enlarged by cocaine use".
Grey's Anatomy star Walsh later took the stage to tell Sheen, "It's amazing, despite all those years of abusing your lungs, your kidneys and your liver, the only thing you've had removed is your kids."
Shatner also took a swipe at Sheen, insisting, "I was on (TV show) S**t My Dad Says and every time your dad sees you, he says, 'S**t!'"
But the former Two and a Half Men star proved his sense of humour when he wrapped up the show with a few choice insults of his own.
He told the crowd, "It's true I've hung around with a lot of shady people over the years: Losers, drug addicts, dealers, desperate whores. But to have you all here on one night is really special...
"This roast may be over, but I'm Charlie Sheen, and in (my heart) burns an internal fire. I just have to remember to keep it away from a crack pipe."