In my setting I use something closer to what MisterK describes. Any form of corruption (or taint) comes from using a specific source of magical power. Some casters (anything designated Evil) are automatically considered tainted (as this is where their power comes from), but there's a secondary list of casters who are subject to taint at specific points (usually when acquiring a new list of spells or higher-level spells...with great power and all that). Those casters have the ability to recognize what's happening and renounce their path (by changing profession...yes, I allow this in my setting). If they remain on the (increasingly) evil path, they start losing a certain level of character autonomy and free will.
Non-casters can serve this power as well, obviously, but they're handled a bit differently.
I don't use this in any setting other than my own, because it's directly related to how that setting came to be. Back when I'd run Greyhawk campaigns, we didn't use corruption at all because it wasn't really part of that setting.