Also I wanted to remove some (but not all) of the roles from the ‘Role’ box on the new user screen. I came across this code:

// Remove Administrator role from roles list
add_action( 'editable_roles' , 'hide_adminstrator_editable_roles' );
function hide_adminstrator_editable_roles( $roles ){
    if ( isset( $roles['administrator'] ) && !current_user_can('level_10') ){
        unset( $roles['administrator'] );
        // add more unset rules here for your user roles
    return $roles;

Which does the job perfectly if it helps anyone else.