Я бы сказал, это в основном определяется вашим транспортным протоколом.
Если вы используете TCP или именованные каналы, я буду выступать за самостоятельное размещение (да, я знаю, что IIS может это сделать, но мне нужна гибкость самостоятельного размещения). Однако для HTTP я считаю, что IIS - это то, что нужно, поскольку он охватывает множество вопросов, которые потребуют много усилий для самостоятельной реализации.
Самостоятельное размещение службы TCP или именованного канала выполняется быстро и просто, никаких особых проблем нет. Я должен сказать, что только в именованных каналах упрочнение именованных труб в Windows Vista / 7/2008 сделало модель намного более сложной и для меня довольно непригодной.