PHP Template way of coding for wordpress theme development

My first answer to your question is another question: Why?

PHP is a template language. You need this separation only in cases where the Designer and the programmer have two very different jobs. But someone writing WordPress themes has to know PHP anyway: Just look at the custom header and background set ups, at add_theme_support, wp_enqueue_style and similar cases where PHP, HTML and CSS are tied together.

To answer the how … take a look at TwentyEleven’s single.php. There is a part where you could load a template engine:

<?php get_template_part( 'content', 'single' ); ?>

You could instead use:

locate_template( 'php/template.class.php', TRUE, TRUE );
$template = new Template;
$template->load( 'templates/content-single.html' );
$template->replace( 'title', get_the_title() );

Some template functions aren’t build to be used like this, for example the_content(): It offers no parameter to just return a string and it changes the output of get_the_content(). So you would have to rewrite some functions just use your extra template engine.
For loops, nav menus or widgets it is even harder to separate logic from markup. Yes, it would be nice if there were some separation … but I don’t see a way to do this in WordPress.