Я занимаюсь разработкой с использованием модели, ориентированной на XML, и обнаружил, что подход с пользовательским обработчиком прекрасно подходит для обслуживания XML -> XSLT -> HTML.
Обеспечение развязки слоя доступа к данным важно для того, чтобы обработчики были сосредоточены на своей конкретной задаче.
Вы уже кешируете XslCompiledTransforms, и это здорово, потому что начальная компиляция является наибольшим ударом по производительности в некоторых приложениях, которые я написал.
С точки зрения «предпочтительных реализаций» - вы не найдете много информации, говорящей об этом стиле обслуживания HTML. Отсутствие поддержки XSLT 2.0 / XPATH 2.0 в основных библиотеках и отсутствие внимания к этому типу разработки от Microsoft являются основными участниками, IMO.