Software as a service is a hot topic these days. The main selling point is that you can quickly get high quality products developed. The only problem is that it is hard to find developers with the necessary skill sets to do the work. Such developers need integration skills.
Outsourcing in general is a difficult task. Like many software development efforts, IT often fails in their outsourcing implementation. Know that software as a service is a kind of outsourcing in itself. Security is important in the software as a service world. Normal DoD security audits may not be sufficient to ensure your security is tight. You must test the security of the vendors you choose.
Software as a service depends on the Internet. So by definition there will be downtime. You need to prepare for this in advance. Make sure incoming mail also gets routed to an alternate system. And the outgoing mail backup should always be ready to go. Test your data recovery plans. And it would be best if you were in control of your own DNS entries.