We are using ADFS in our environment. Although it is not directly used to Login to Moodle.
We use CAS SSO, Shibboleth, and ADFS all together to give us a full SSO Solution.
For Moodle have CAS Configured, For Office 365 we have ADFS Configured.
Shibboleth uses CAS for Logins and ADFS uses Shibboleth. You can see now how the user see really only CAS for SSO Logins.
It is a real simple setup if you have Shibboelth and CAS already setup. You would then have ADFS use Shibboleth for Authentication which in turn uses CAS for Logins. This method works for Office 365 Client Apps and Web Apps so your users can use Lync and Outlook since they hit ADFS first.
Go through the standard ADFS/Office 365 SignleSignOn setup the you need to add a custom attribute to shibboleth to release the DOMAIN\Username to ADFS. You never have to modify the ADFS setup so you can still recieve support from Microsoft.
If you need the specific on how the attribute is built and released just shoot me a message!