My group prefers to level up about every 4 game sessions (1 game session per week).
The pattern we've settled on puts a limit on how much a PC can be awarded each game session of 1/4 the total needed to reach the next level. Any excess xp goes into the PC's "bank".
A 7th-level PC needs 7,000 xp to get the next level. If the PC earns 2,500 xp this game session, I award only 1,750 xp. The extra 750 xp goes in the bank.
Next game session, maybe the PC earns 4,000 xp. I award 1,750 xp, and the extra 1,250 xp goes in the bank (for a total of 3,000 xp in the bank).
Next game session, the PC earns 1,000 xp. He gets the 1,000 xp plus 750 xp from the bank for the full 1,750 xp. That leaves 2,250 xp in the bank.
The fourth game session, the PC only earns 400 xp. He gets the 400 xp plus 1,350 xp from the bank for the full 1,750 xp. He gains a level with this award, and still has 900 xp in the bank.
This helps to keep the character advancement steady. It also lets PCs get xp even at the end of a relatively uneventful (without major challenges) game session. And it ensures that the PCs have to actually *do* something challenging and adventurous to keep getting xp -- xp aren't just handed out for no effort. I like the PCs to have that burning drive to adventure, test themselves, and improve their abilities through overcoming challenges.
Quasqueton