In 2E I used to train my players by using XP as rewards for certain behaviors. I wanted magic-users to use magic (this was especially important to me -- when firepower was a little more rare, magic-users tended to hoard their spells throughout the session), thieves to do thiefy stuff, clerics to heal, etc. I wanted to encourage role-playing and problem solving and thus awarded XP based on that. I sometimes broke down the adventure goals into XP chunks. It seemed to work, but then 2E had unequal XP progressions (and unevenly powered classes -- a 3rd level thief wasn't equal to a 3rd level fighter), so it's hard to know how fair or effective it was.
My philosophy now is that when my players try to do fun/interesting things with their characters, I want to reward them more immediately by making their fun/interesting choices pay off in the game. Waiting until the end of a session to reward players for certain behaviors no longer seems necessary or effective.
Also, now that I give session-based XP rather than monster/encounter-based XP, the players know that attacking NPCs and monsters doesn't necessarily lead to more XP but it almost always leads to a drain of resources. So they sometimes find non-violent ways to get around encounters (through sneaking or role-play), which is fine by me.
edit: I should add that there is a "carrot" that I do give out in my AU game, and that is hero points. They are rewards for good roleplaying, taking risks, doing heroic things; they also allow me to take the gloves off and hit them hard with my NPCs, monsters, traps, environments, etc. and not have to worry quite so much about character mortality.