I'm thinking of giving the mage a big chunk of xp (say 500) for each new spell he copies to his spell book, simulating his desire to gather new knowledge of magics. This would mean mages do not teach other spells, but that they can only be found in dusty dungeons. There might need to be a limit on this, as finding a spell book could grant massive experience point rewards. Then again, the mage does need a lot of xp to advance, so maybe that's fine.
The thief gains 200 xp per successful use of an ability that overcomes an obstacle on the quest. E.g. picking a lock on a door that needs to be opened. This simulates him using his expertise. I had thought about giving him xp for stealing things per se, but that causes too many issues.
The cleric gains 200xp per undead he sends back to the grave - his duty to rid of the world of these abominations.
The fighter gains 75xp per killing blow he inflicts on an enemy he defeats by strength of arms (i.e. in melee). Dwarves gain 1xp per gp found in a treasure hoard. Everyone knows Dwarves love gold.
Halflings gain encounter experience for each encounter they resolve using anything but combat. This goes well with their hiding ability, I think, but plenty of opportunity for role-playing with such a noncombat class as the halfling.
Elves I'm not 100% sure about, perhaps they can gain from magic spells and from combat, or from some nature activity. Or perhaps they get the fighter xp bonus for killing blows, but with a bow.
Numbers are subject to change, of course, this is preliminary thinking.
All of these are only awarded if its a quest relevent task.
What do you think?