Using a Single Custom Post Type Template for Multiple CPTs

Doesn’t exist any is_post_type_single function, because there is no need for it.

is_singular() fit perfectly your purpose.

Example code using 'template_include' filter:

add_filter( 'template_include', function( $template ) {
  if ( is_singular( array( 'cpt-1', 'cpt-2', 'cpt-3' ) ) ) {
    $locate = locate_template( 'custom-template.php', false, false );
    if ( ! empty( $locate ) ) {
      $template = $locate;
    }
  }
  return $template;
});

Of course change the name of your CPTs and the name of your custom template.

Please note that you haven’t to use the full path of template, just its name, but the file need to be in child theme or parent theme folder.