I haven't used XP since Third Edition. I prefer milestones or session-based leveling. It's just less of a headache for me to keep track of.
In one campaign I ran, the characters leveled up every X sessions, X being the next level. So 2 sessions to get from 1 to 2, 3 sessions to get from 2 to 3, etc. The pacing worked pretty well! I feel like the higher you get in level, the more time you want to try out all your new spells, powers, etc. The big weakness is that leveling was arbitrary and didn't really follow story beats.
In one campaign I used a homemade Tarroka Card set to create adventure goals. The characters received a reading, and when they fulfilled the goal, the stars would bless them with power and they would level up. That was fun too, because it incentivized players to try and solve the "puzzle" aspect of the card readings and solve problems in the world. It also meant that there were big, positive consequences to the narrative choices of the characters. The downside was that it meant side quests took away from character progression (though would have their own rewards).
If I were running a new campaign, I think I'd want to try out a milestone system that is more collaborative. Something like reflecting at the end of each session on if characters accomplished Minor, Medium, or Major goals, and awarding new levels based on that.
The one thing I never want to experience again is milestone leveling with no clear guidelines. The last campaign I played in basically was "we level up when we bug the DM enough." We would survive amazing fights, hit story beats, travel the world... But only level up if we reminded the DM and if she was in an agreeable mood. It was very annoying!