I'd argue that small sacrifices are always a good thing to do. Helping others at your own expense - getting up to refill someone's glass at dinner, staying with your friend when they're going through rough times, giving donations to charity - is a net positive for the world, and it makes for a network of happier people. There's very little good reason not to make make small sacrifices from time to time.
Larger sacrifices - namely, the sacrifice of one's own well-being or life - are a much more more difficlt moral question. Religion tells us that there is an afterlife; if there is, sacrificing our lives to improve the world is a simple, obvious choice. Sacrificing our lives is nothing more than another small sacrifice on a much longer spiritual journey. Without an afterlife, higher plane, or second chance, though, it's a much more complex decision. Is it right for me to sacrifice my own life if it means saving that of multiple others? Of course, I'd have anyone else do the same, but (of course, again) with myself it's different. I only have one chance at life if the religions are wrong, leaving me with nothing but my own experience of life; am I willing to squander that for some intangible ideal?
I can't help but say that the answer is no. With no afterlife or 'second chance', my own life and happiness is infinitely valuable to me, for without it I have nothing. While small sacrifices make others (and thereby making myself) happier and do not impede me from pursuing my own goals - in fact, it aids in pursuing my goals - a larger sacrifice like that simply doesn't make sense. Of course, this only holds true to a certain extent; for example, if my death was provably the only way to stop a nuclear holocaust, I would obviously be willing to make the sacrifice. As scale decreases, though, my certainty in my decision-making decreases. I feel as though the direction of a moral compass doesn't work as well when you're facing a potentially lethal risk.