Which is better approach "taxonomy_get_term" or using SQL to display term name on template file
Literally the only difference between you calling taxonomy_get_term() and running the query yourself is that taxonomy_get_term() statically caches and serves term objects that have been loaded previously in the same page load.

You'll only get performance increases, not decreases, if you use the API function so I'd thoroughly recommend using that instead of going directly into the database.

Since you're running an identical query anyway, it's just repetition of code otherwise.

This is the code from taxonomy_get_term(), it should help illustrate the above:

function taxonomy_get_term($tid, $reset = FALSE) {
  static $terms = array();

  if ($reset) {
    $terms = array();
  }

  if (!isset($terms[$tid])) {
    $terms[$tid] = db_fetch_object(db_query('SELECT * FROM {term_data} WHERE tid = %d', $tid));
  }

  return $terms[$tid];
}