Sinceramente non sono neanch'io un fan dei template engine su PHP, perché essenzialmente PHP lo è già.
Detto questo però devo dire che non sono d'accordo per niente con una funzione di questo tipo. In questo modo è necessario di avere parte del layout nel codice perché alla fine sarà la funzione a stamparlo e quindi l'idea di MVC rispettivamente della separazione di codice e presentazione verrebbe resa inutile.
PHP dovrebbe stampare il meno possibile (tramite un codice più complesso naturalmente, usandolo come template engine ci devono essere ovviamente dei echo).