I think the realistc aproach is the better one: Practicing makes you more experienced, completing tasks gives you rewards. Every time you fight you should be given experience, it would be the most realistic. Also, practicing anything should give XP: Diplomacy, stealth, puzzles, survival, etc...
Binding experience to quests only seems extremely artificial and very un-RPG-like. One of the characteristics in common with all IE games and most successful RPG games is the combat XP. Getting rid of that would be tampering with a mechanic that's working fine.