Unable to sanitize in customizer and escape in theme without removing ability for user to use “< br >” to insert a line break

You should use the helping site of validation – https://codex.wordpress.org/Data_Validation

I think in your context is wp_kses the right function. You can allow html tags. The function have a lot of possibilities to use it with custom requirements.

A small example to fast usage:

$allowed_html = array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
);
$my_filtered_string = wp_kses( $string, $allowed_html, $allowed_protocols = array() );

Small words on the end about performance. The function is hungry, you should use it carefully. More about this include values from benchmarks can you find in this post.