How to list users like an archive page 10 users on page and have navigations

First of all, you would use WP_User_Query instead of WP_User class to find the list of users. I wrote up a snippet to demonstrate this. I haven’t tested it, so you might want to rewrite the whole thing. For reference, checkout this blog post http://mattvarone.com/wordpress/list-users-with-wp_user_query/ and the codex http://codex.wordpress.org/Class_Reference/WP_User_Query#Pagination_Parameters

$per_page = 10;
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;

$args = array(
    'role'      => 'Subscriber',
'number'  => 999999      
);
$user_query = new WP_User_Query( $args );
$total_pages = count($user_query->get_results()) / $per_page;

$args = array(
    'role'      => 'Subscriber',
    'orderby'   => 'display_name',
    'number'    => $per_page,
    'offset'    => $offset
);
$user_query = new WP_User_Query( $args );
$all_users  = $user_query->get_results();

foreach($all_users as $user) {
    $user_info = get_userdata($user->ID);
    //Format your output here
    echo $user->email, $user->first_name;
}

echo paginate_links( array(
'base'          => $base,
'format'        => '&offset=%#%',
'prev_text' => __('« Previous'),
'next_text' => __('Next »'),
'total'         => $total_pages,
'current'   => $offset
));