I take that back, I can comment about Spike and Doyle's sacrifice.
Doyle's death happened in episode 7, I believe, and that isn't very far into the season. The whole time he was on the show, he was looked at as a coward, but had a place because of his visions. The whole time he had these feelings for Cordy, but didn't want her to know that he was a demon. But Cordy didn't really care about that, as we find out.
However when he sacrificed himself, he basically did it because he wanted to prove he wasn't a coward. He would do the right thing, and to get Cordy's love.
Spike on the other hand, it was a lot grander than that. Forget the fact that we knew he would be on Angel.
Ever since season 5, when we find out he was in love with Buffy, he always did stuff for her. In "Family" he could of watched Buffy get killed, but he decided to help her instead. In "The Gift" he was on her side when trying to stop Glory, and also before that.
In season 6 he fought on her side for most of the season, and found out that she would never love him because he doesn't have a soul. So he went through tons of punishment just to get his soul, so she would love him.
In season 7 he once again fought on Buffy's side, and even though it looked like he was a threat, Buffy stuck by his side. She knew he was a champion, their best warrior and they needed him. When she gave him the amulent(sp) he was chosen to save the world, if it wasn't for Spike then Buffy would have lost.
Basically Spike saved the world for the women he loved, and to prove that he is a worthy man, a champion.
Spike's sacrifce was better than Doyle's, IMHO.