Use custom template on custom post type

If you’re just trying to add a template within the theme, name your file single-profile.php and that will apply to all single “profile” CPTs.

But you mentioned you don’t want to touch the child theme. You could instead create a plugin and use a page_template filter to use your plugin’s single-profile.php template instead of any of the theme templates.

You would create a plugin folder, put your single-profile.php file in that folder, and add a plugin.php file that contains something like

<?php
add_action('page_template', 'wpse_apply_profile_template');
function wpse_apply_profile_template() {
    // If this is the CPT we're looking for
    if(is_singular('profile')) {
        // Apply this plugin's "single-profile.php" template
        $page_template = dirname( __FILE__ . 'single-profile.php';
    }
    // Always return, even if we didn't change the template
    return $page_template;
}
?>