Actually, there are several good and neutral ghosts in various official modules... Most of the time they show up as NPCs that can give information about something, or need the party's help in finding rest.

To be undead is NOT to be inherently evil, as it is for fiends, or for celestials to be inherently good; it is not possible for a fiend to be non-evil and it is not possible for a celestial to be non-good - if they become so, they change their very essence and become other creatures. This is not the case for undead - it's simply that the extreme vast majority of undead entities are so, for the various reasons that mrfuji summed up. The case and reasoning for a non-evil undead must be specific and compelling; there's got to be an explanation, but it's quite possible.