This is always how I've run alignments.
Most people are neutral. Neutral people act in their self interest, most of the time, but without stealing from/killing/etc. others. Sometimes they act selflessly (usually around their friends, but not always). Sometimes they are willing to steal/etc. (but often will try to make up for it after the fact).
Good people act in their own interests a lot, but are selfless more frequently, and are probably less likely to attack/steal/etc.
Evil people also act in their own interests, and can occasionally act selflessly, but are more willing to steal/etc., and when they do so they feel little guilt or need to make amends after the fact.
The real issue with alignments is when people treat them as absolutes, and play them as personality disorders rather than general tendencies.
I ain't saying it's perfect. I don't use it in most games. But it's not horribly broken as long as you view it with a modicum of nuance.
If anything, the problem originates with paladins, which do act as an extreme version of their alignment - and since they've always had the most clear instructions on how to be an alignment, I think people have extrapolated that out inappropriately.