имхо, для php4 в любом случае нужно использовать HTML, по причине того, что XML/XSLT там поддерживается экспериментально, и не все функции удовлетворяют стандартам DOM. к тому же это банально неудобно(именно в php4).
последний месяц использую:
KTemplate вместе с php4.
плюсы:
+очень легкий и небольшой класс
+возможность делать шаблон в одном файле, т.е. допустим нужно "раскрасить html"(вполне стандартная задача). KTemplate позволяет задать возможные куски в одном файле. На php остается только распарсить и соединить нужные блоки.
+полное отделение кода от представления
в php5 появились действительно полезные возможности, например simpleXML, с которым работать одно удовольствие. тут уже можно серьезно заняться решением: XML|XSLT. Пример недавно был приведен в этмо форуме.