You have to think of it like you're designing an incentives system, because you are. What do you want your group to beingbe doing? How do you want them to act?
I have what's essentially a hybrid approach:
The group gets experience for overcoming challenges
Combat, traps, stealth, diplomacy, finding the magical treasure of X, rescuing the mayor, whatever. This is where most experience will come from, and they all get the same amount.
Individuals get experience for enhancing the game
Roleplaying well, finding ways to include other characters better, teamwork, having the right unexpected skill/ability at the right time, overcoming personal character challenges, getting the right crit at the right time, getting a crit failure at the wrong time and handling it well. Essentially, these are DM discretionary XP bonuses. At the beginning of every session, I hand out the bonuses earned from last session. These bonuses are on the order of 1% what they're getting for challenges, and I can almost always find a bonus for each player, so they don't drift apart.
It allows me to highlight behavior I want to see, reward players for it, and keep people who otherwise might be on their phones invested in the non-combat aspects of the game. If anyone ever tried to game the system (e.g., dominate a session "roleplaying" their character in minute detail), it's discretionary, so I can simply give them nothing, assuming I didn't just stop them doing that at the time.