In my current GURPS game, I hand out XP based mainly on the profitability of an expedition. I've covered them in detail here:
DF XP Awards House Rules
But that's not how I did it in my more mission-oriented, story-centered GURPS game that ran from 1999 until 2010. In that game, making XP about "profit" or based on discrete trips to a dungeon would have been useless at best and a negative on the campaign at worst.
What I did instead:
Frequency - I handed out XP at certain points in the campaign. It wasn't per session. Basically, if you completed a certain objective or got to a logical point where it seemed appropriate to hand out points, I handed them out. This could be a small amount or a fairly large amount, if what transpired between awards was significant or long.
Generally, this worked out to be once per session, but when we got into epic fights that took multiple sessions (we had at least two of them - still known as "the Lurg fight" and the "the pirate battle"), the XP would generally come after the end of the session that included the end of the big fight.
Roleplaying - the main point haul was based on roleplaying. I'd hand out between 1-3 for good roleplaying, but as many as 4 or 5 if someones disadvantages were played perfectly and significantly impacted play.
Mission - I'd hand out 2-4 points, sometimes more, for accomplishing certain goals. Those goals could be external assignments, or internal decisions by the PCs (they want to do X, if they do X, I decide give Y points for it.) Really easy ones got 0 points, but a huge battle that unseated a major foe might get you 4-5 points . . . and so could clearing out a significant location that advanced the PC's goal of defeating the BBEG they (oops) unleashed on the world while trying to get out of trouble they equally (oops) unleashed on themselves.
I'd occasionally give out bonuses for special things, too, like unraveling a plot thread or dealing with a tricky situation in a clever way.
Warm Body Award - if you couldn't make it, but your PC was in danger, I'd give you 1 point. If your PC wasn't in danger, you'd get 0.5 points.
How did this work out? - pretty well. The PCs had steady, but relatively slow, advancement. The PCs in my DF game are already clocking in where the most high-point PCs in the previous game ended, but they also started with more (a 4e 250+50+5 vs. 3e 150+40+5). Growth was organic and jumps in power were rare. I based all of this on the suggestions in the old 3e Basic Set, and it was fine.
Since the game wasn't profit driven (killing monsters for stuff was nice, but only if they really needed the stuff) and strongly epic goal oriented, we needed things that rewarded chasing that epic goal. As such, it worked pretty well. If the PCs did difficult things to work towards taking out the BBEG, or just difficult things in general, plus stayed in character (a great part of the fun of that game), they'd advance.
It worked well enough. You can see how it would change the flavor of a DF game, though - if rewards were for challenges and roleplaying and mission, the PCs would be played very differently driven than the PCs who are rewarded for profit.