XSL-T ist erst einmal eine Sprache, mit der du XML-Dokumente in andere XML-Dokumente transformieren kann. Beispielsweise irgendein XML-Datenformat in XHTML zur Ausgabe im Browser.
Hilft dir das bei deinem Blog weiter? Möglicherweise, aber einfacher als PHP-Templates, die direkt (X)HTML generieren, ist es sicher nicht.
XSL-T und CSS haben nichts miteinander zu tun. Ob du eine Seite in HTML oder XHTML schreibt, Formatierungen nimmst du mit CSS vor. Was du vielleicht im Kopf hattest ist XSL-FO, aber das spielt im Webseiten-Kontext keine Rolle und ist in diesem Kontext keine Alternative zu CSS.
XHTML ist nichts anderes als eine XML-konforme Syntax für HTML. XHTML brauchst du immer dann, wenn du XML-Parser und -Tools verwenden willst, um dadurch Vorteile gegenüber HTML zu erzielen. Wenn du das nicht tust, gibt es keine Vorteile gegenüber HTML, schließlich drücken beide dasselbe nur in anderer Syntax aus.
XHTML als echtes XHTML (MIME-Typ application/xhtml+xml) an die Browser zu senden, bringt eher Schwierigkeiten mit sich, da die Syntax korrekt sein muss, sonst streiken die Browser. Außerdem unterstützen nicht alle Browser echtes XHTML.
Es spricht jedoch nichts dagegen, beispielsweise von XSL-T generiertes XHTML als gewöhnliches HTML (MIME-Typ text/html) an die Browser zu senden. Das ist Usus. Allerdings fallen dann auch die browserseitigen Vorteile von XHTML weg wie die konsistente Einbindung anderer XML-Sprachen. Bei HTML5 kannst du lediglich einige Sprachen wie SVG direkt einbinden, aber es gibt kein Namespace-Konzept und keine standardisierte Erweiterungsmöglichkeit.
PHP-Scripte generieren üblicherweise HTML-Code, aber du kannst auch XHTML-Code damit generieren. Entweder indem du den Code direkt mit PHP-Templates erzeugst oder indem du in PHP verfügbare XML-Bibliotheken nutzt (z.B. SimpleXML, DOM, XMLWriter, XSL).
Mathias