WordPress at a glance
function is not described

wp_switch_roles_and_user() WP 4.9.0

Switches the initialized roles and current user capabilities to another site.

No Hooks.

Return

Nothing (null).

Usage

wp_switch_roles_and_user( $new_site_id, $old_site_id );
$new_site_id(int) (required)
New site ID.
$old_site_id(int) (required)
Old site ID.

Code of wp switch roles and user: wp-includes/ms-blogs.php WP 5.2.2

<?php
function wp_switch_roles_and_user( $new_site_id, $old_site_id ) {
	if ( $new_site_id == $old_site_id ) {
		return;
	}

	if ( ! did_action( 'init' ) ) {
		return;
	}

	wp_roles()->for_site( $new_site_id );
	wp_get_current_user()->for_site( $new_site_id );
}