//cuando se registra un post type tiene que tener los siguientes argumentos:
'capability_type' => 'page',
'hierarchical' => true,
'supports' => array( 'page-attributes' ),
//como son singles x mas que las capabilities sean 'page'' hay que engañara single.php
//1. tomar el valor del select
$meta = get_post_meta( get_the_ID(), '_wp_page_template', TRUE );
//2.
//los archivos de los templates no deberian tener loop, header ni footer, solo el comentario de
// /* Template Name: Contacto */
// y los divs que tengan el contenido
//3.armar el if para mostrar:
if($meta){
include $meta;
}else{
//estilos de la single x defecto
}