Я использую смарти но не потому что он хороший или плохой, а потому что он первым попался (ну еще его известность гарантирует работоспособность его кода). ИМХО, для программера не важно какой шаблонозатор. Какой шаблонизатор важно для дизайнера/верстальщика. Важен в плане понятности и наличии документации. Для программера важно что код максимально удален (не столь важно фактически или мнимо) от представления, а это непосредственная задача шаблонизатора. Именно отсюда растут ноги у вопроса - а нафига нам шаблонизатор, если пхп умеет то же самое. Используя границу, определяемую шаблонизатором, проще различить логику контроллера и запчасти представления, а это позволяет писать унифицированные контроллеры, которые могут быть многократно использованы в пределах одного проекта. Так, например у меня, один и тот же контроллер используется как в пользовательском интерфейсе, так и для обработки AJAX запросов. Разница только в шаблонах.
А вопрос о производительности здесь, как и в большинстве случаев, это лишная трата времени там, где это не имеет весомого значения. Лично меня больше интересует производительность в узких местах (например запросы к БД, оптимизация ОРМ) которые могу привести к значительному падению производительности, а не какие то доли секунды, уходящие на работу отлаженного опенсорсного шаблонизатора.