As of January 16th, 2016, Music on hold is now available in Office 365 Cloud PBX.
This is deployed via a client policy, using a remote PowerShell session. For instructions on how to connect to Skype for Business Online using PowerShell, click (here).
Once you are connected to the remote PowerShell session, you just have to run a single command Set-CsClientPolicy –EnableClientMusicOnHold $true
Before and After screen shots of where this shows up for the client:
Before:
After:
By clicking Browse we can see that the end-user can select their own music on hold file:
By default we can only upload .WMA files. There is a free MP3 to WMA online converter that I used to upload some classical music.