This depends entirely on the game. Fable 2 was fertile ground... I didn't find the system itself too bad... what matters is the choices. Fallout 3 generally had good middle ground, as did KOTOR... KOTOR excelled by sometimes having a slightly good or evil version of everything too. You could have a choice to do something slightly evil in a quest for a small bonus, or do something worthy of a cross between Genghis Khan and Stalin either for a bigger bonus or for the hell of doing something incredibly evil. (never let me play a moral choice game when I'm bored... it will end badly... VERY badly... for all involved.) The more flexibility the player has, the more fun a moral choice system will be, and this is the core of making a good moral choice system.
I also think the "absolute morality" system needs scrapping. What I'd like, is for you to instead earn reputation. Not overall reputation, but rep with different factions, or even different people! Fable 2 made a promising start on this but didn't develop it enough. (You really need to be able to start up random conversations with NPC's for the individual rep to work at its best, but what if you saved someone from, say, bowerstone? People in bowerstone (And only Bowerstone) would come to respect you more. Equally, get a reputation for saving wandering traders and you'll find that wandering traders will be eager to give you good deals, or even giving you free stuff if your rep is high enough with them. Say in Fable 3 or even if there is one 4, wars can start. And say that Bowerstone fights Bloodstone. You could become a hero to either side, but the side you spend your time slaughtering is going to hate you for it for all eternity. This is, I think, a potential future for moral systems.