Rave, because musical accompaniment is paramount to a good dance.
(If you like Rave, please vote for it. I wouldn't normally ask but it seems like Rave too has fallen prey to dribbling one-star-for-everything-lawl voters. /sigh)
Rave plays music whenever you dance, but it's more than just that. With every one of your characters, you can create an individual playlist perfectly tailored to that character's personality. So if you tailor the music you hear when you dance, either to your character's personality, or just to be applicable to the dancing. Whichever you'd prefer!
Here's the short-list of features.
Plays a music file randomly from a playlist of your creation when your character dances.
Allows you to create a playlist for each character, so that you can tailor the music to their attitude/dance-animation.
Stops the music when your character moves, keeping in time as much as possible with the dance animation's beginning and end.
Detects the player dancing regardless of the game's locale.
In the Rave folder, you have a Media folder. Drop any music you wish to hear in there, any format that Warcraft supports can be used.
In game, either type /rave or go into the Main Menu (Esc), then into Interface, then into the Addons tab, then click Rave in the list on the left. This is the Rave configuration mod. It applies to the character you have logged in currently, and this allows you to build up a playlist for that character.
Rave will only use music you've added to the playlist from the configuration menu, it won't automatically just pick randomly from the Media folder. The reason for this is so that you can have all your music in the Media folder, but you can configure custom playlists for each character. It's the easiest approach.
In the Rave configuration, there are options to add and delete tracks, simply provide the filename (with extension) of the music you wish to use.
Extended help is also available from the configuration menu in game.
Take a look at WoWWiki's section on the dance emote, it has a few ideas listed that may help you out with deciding which songs might be best, if you don't have any in mind already. Thanks to mrruben5 for the suggestion!
1.0: I feel this mod has reached a milestone, in that it's achieved a level of stability to the point where (despite my efforts to break it) I haven't seen any bugs in quite some time. This milestone also implies that I'm unable to think of any relevant features to add at this time without bloating out this mod, and there's nothing left to do that wouldn't be superfluous. Thus, this mod will likely be left untouched until a new feature is desired, or until a new Warcraft patch breaks it (if that happens). As of now, this mod should be considered stable.
revision160508: Hopefully got the embeds sorted out now.
revision120508: Did a little spring cleaning and got rid of two possible (but not definite) bugs; the options screen might sometimes be ordered weirdly, and the mod might error if the player's track database was empty. It's unlikely that either bug would have occured, but it's nice to have my bases covered.
revision060508c: Gah, accidentally included my testing music file. I'll really have to make a script for packaging these up. Sorry about that.
revision060508: I've embedded the libraries, I had a request or two to do this from friends. Now nothing extra need be downloaded in order to use Rave, you just drop Rave itself in your Addons folder and you're good to go.
revision050508c: Rave now works by storing a playlist (with songs randomly selected from it) for each character, thus allowing for a greater variety of music, and music more suited to each character's attitude aswell as their dance animation.
revision050508: Dancing without first stopping no longer resets the music.
revision040508: Rave is now localisation independent, it should support all language clients.
revision030508b: I've linked to the framework I use instead of including it in the zip. If you have an Addon that already uses Ace3 (either external or with it embedded) then you probably won't have to download anything else, otherwise grab the link in the description.