Get a count of how many times a term or a category is used in posts

Wp_Query should be able to do this for you. Pass it the appropriate parameters, including a tax_query, and check found_posts.

$p = new WP_Query(
  array(
    'post_type' => 'custcpt', // your CPT
    'tax_query' => array(
      array(
        'taxonomy' => 'custtax', // your tax
        'field' => 'id',
        'terms' => $cat->term_id, // your term ID
      )
    ), 
    'ignore_stickie_posts' => true,
    'fields' => 'ids',
  )
);
echo $p->found_posts;

Untested, but should be close.