What XP you award and for what depends on what kind of campaign you want. If you want more of a sandbox game, I think rewarding XP on a per-monster basis (plus social and exploration encounter rewards) is pretty good. When I want to build more towards the concept of an "adventuring day," encourage combat, and to simplify calculating XP for purposes of knowing what level my players are going to be, I like to give the XP based on the assigned difficulty of the fight (the "per encounter budget").