I don't know if I'd agree that a person who is trying to save himself can't be a hero.... I would actually place the criteria for hero as being someone who actually personally faces some level of danger, and whether or not they personally overcome it, somehow manages to help one or more other people get past a threat that they are facing. A hostage victim who manages to foil the plans of the people who have taken them and others hostage certainly has a personal vested interest in trying to get out of the situation, but I wouldn't hesitate to call such a person a hero when his or her actions have saved the lives of others. I find myself ambivalent on your example of a pilot being a hero, however. I think I'd really be willing to use the word to describe a pilot only in circumstances where the pilot had shown personal creativity and resourcefulness in overcoming the situation that went far beyond what he or she was actually trained to do in such circumstances, and by all rights and reason they should not have survived at all.
To that end, ordinary people may become heroes, but heroes are anything but ordinary.
And Snowden didn't face any real danger by doing what he did. In the end, he still ran away.
That doesn't make what he did meaningless, it just means he's not cut from the same cloth as what I'd call a hero.