Make a sim DJ and let him play for 7 mins.
If he has started you can let max. 9 sims dance/join on dance floor.
After 3 mins you get for every dancing sim 30 XP.
However in the meantime you get random 50-300 XP per dancer.
I don't the logic of these XP points. I've seen zero to many randoms.
If you let 9 sims dance twice, in the 7 mins DJ timeframe, your level XP percentage goes up with approx. 1%.