ヘッダーテンプレートで実装しようとすると、コントロール全体があなたの手の中にあり、コールバックはあなたが望むことを何でもできる関数に行きます。
var myHeaderCellTemplate = '<div class="ngHeaderSortColumn {{col.headerClass}}" ng-style="{cursor: col.cursor}" ng-class="{ ngSorted: !noSortVisible }">'+
'<div ng-click="sortByMyPreference()" ng-class="\'colt\' + col.index" class="ngHeaderText">{{col.displayName}}</div>'+
'<div class="ngSortButtonDown" ng-show="ID.down"></div>'+
'<div class="ngSortButtonUp" ng-show="ID.up"></div>'+
'<div class="ngSortPriority">{{col.sortPriority}}</div>'+
'<div ng-show="col.resizable" '+
'class="ngHeaderGrip" '+
'ng-click="col.gripClick($event)" '+
'ng-mousedown="col.gripOnMouseDown($event)"></div>';
ここにプランカーがありますhttp://plnkr.co/edit/OxyV1NlgznEJ8ulNAkt2?p=preview
名前タブをクリックするまでソートの実装を残しました。アラートと ID.down と ID.up が表示されます。true false で切り替えて矢印を表示できます。