Я бы посоветовал вам взять каждый из вышеперечисленных видов двигателей, написать вид и посмотреть, какой из них подходит вам лучше всего. Вы можете обнаружить, что для разных приложений или даже для разных типов представлений выбор View Engine меняется.
Если вы возвращаете HTML своему клиенту, тогда может подойти такой движок, как Spark. Однако, если возвращаемое вами содержимое является XML или какой-либо другой разметкой (например, JSON), то Spark не сильно поможет. NHaml также ориентирован на генерацию XHTML.
Подумайте, как вы хотите протестировать свои представления, набор навыков ваших инженеров (как разработчиков, так и тестировщиков), уровень поддержки, который вы надеетесь получить от вашего писателя View Engine (если вы обнаружите ошибки, как вы хотите исправленные ошибки) и предпочтения вашего клиента.
В основном - попробуйте несколько, посмотрите, что вам нравится, используйте их смесь, если вы найдете, что имеет смысл.
О, и вот хороший пост, в котором перечислены 4 альтернативных движка ...
http://codebetter.com/blogs/jeffrey.palermo/archive/2008/01/27/mvccontrib-now-offers-four-4-alternative-view-engines-for-asp-net-mvc.aspx
... в нем упоминается механизм XSLT, который может подойти, если вы хотите сгенерировать XML.