Where should I host my application?

You are building several WCF Services. You know that you need to support Http, TCP, and MSMQ. You expect a large number of clients and heavy loads on your services. You might need to move the service host from machine to machine on occasion. Additionally, all your developers are familiar with ASP.NET programming, but are completely new to Windows Azure and WAS.

Is a console application or a WPF application implemented via self-hosting a viable approach?
Is IIS a good candidate here, assuming that there are several instances available internally?
What factors shift the equation to one host choice versus another?