Display content from custom post without modifying the single template

Yes, it’s possible. You’ll need to use the template_include filter.

To return a different template for a custom post type of “my_custom_post_type”, you could do something like this:

add_filter( 'template_include', 'wpse_272261_template_include', 100 );
function wpse_272261_template_include( $template ) {
  if ( is_singular( [ 'my_custom_post_type' ] ) ) return PATH_TO . 'template.php';
  return $template;
}