The default MoH class does not play randomly…the same song always plays and the order of the songs is not random (if someone was on the phone long enough to hear them all). Custom MoH classes will play randomly if so configured.
There are legal issues to consider: http://wiki.freepbx.org/display/F2/Music+on+Hold+User+Guide
There are several songs already on your PBX that we can use as your MoH.
Generally, for the default
MoH category, we just delete the songs you don't like, then rename the songs to play in the order you prefer.
/var/lib/asterisk/moh
If you wish, please check out these freely licensed songs when you have time and tell us your top selections plus what order to play them in and we'll modify your PBX.
Alternately, we can upload any songs you wish and create a custom MoH class. If you provide us with MP3 files, we'll configure them to play.
Apply the new custom MoH class in Connections → Inbound Routes → General → Music on Hold