Overkill? I'll admit XSLT is useful, especially when your code is mostly output and not much logic, but it's also an ugly language. It can be overly verbose, which just leads to an unreadable and unmaintainable mess for a lot of people (not to mention, most people find it difficult to use at first, in the first place). A lot of this has to do with the fact that XSLT is stuck somewhere between being declarative and procedural. If I had to draw comparisons, it would be with regular expressions; it has its uses when it comes to simple well defined problems. Beautiful in concept, but not in syntax. If the programming language itself has a good DOM implementation supporting XPATH allowing docs to be built in a meaningful way, then there's little benefit in using XSLT.
Anyway, that's solely my take on it. I have no idea why they chose not to use it, but the above would partly be my reasoning for not doing so.
I much prefer the template system thats in place over XSLT, and they're not reinventing the wheel so much as supplying an easier system for people to learn.
The syntax that we have been shown up till now seems completely logical, and simple to understand (After the learning curve), and will be easy enough for intermediate administrators to use, which is about the average skill of most administrators for the most part.
Having used XSLT for some years now, I would not pick that as my first choice. All the power comes at a cost. That cost is usually complexity, overhead and .. yes, it is slow. Even precompiled. And finding an error in a bad XSL file is hell, even for the trained user. It is far from user-friendly.
I do wonder, however, why another custom template engine. For my latest project I just picked up Smarty, it works pretty well and offers a lot of templating functionality, http://www.smarty.net, (includes, loops, blocks, vars, etc)I tried the templates in Zend Engine but they are really more PHP based and the last thing I want to do is use a PHP file as a template for security and convenience reasons.