you can add a custom field to each listing post with the user’s role and then in your query you can order by that field, for example say you have a custom field named `u_role’ then your query should look like this:
$custom_role_query = new WP_Query( array(
'author' => implode( ',', $custom_ids ),
'post_type' => 'listing',
'posts_per_page' => 10,
'paged' => get_query_var('paged'),
'meta_key' => 'u_role',
'orderby' => 'meta_value',
'order' => 'DESC', ) );