WorksheetFunction.SortBy
でDate型の配列が文字列として扱われるのは、VBAからExcel関数へ配列を渡す際の型変換の仕様によるものです。
ループを使わずに計算負荷を抑えて解決するには、Evaluate メソッドを使用して配列全体を一括でシリアル値(数値)に変換する手法が最も効率的です。
推奨される解決策:Evaluate による一括変換
VBAの Evaluate を使うと、配列内の各要素に対してExcelの演算(例えば「+0」や「*1」)を適用でき、ループなしで高速にシリアル値へ変換できます。
vba

Dim dateArray As Variant
Dim numericArray As Variant
Dim sortedArray As Variant

' 1. Date型の配列(または日付文字列の配列)を準備
dateArray = Array("2026/8/10", "2026/12/9", "2026/1/15")

' 2. Evaluateで一括して数値(シリアル値)に変換
' 変数内の配列を強制的に数値計算させることで、Excelに日付として再認識させます
numericArray = [(index(dateArray, 1, 0)) + 0]

' 3. SortByを実行(基準配列に数値化した配列を指定)
' ここでは例として自分自身を並び替えています
sortedArray = WorksheetFunction.SortBy(dateArray, numericArray, 1)

コードは注意してご使用ください。
この方法が優れている理由

計算の効率化: VBA側で For Each や For ループを回す必要がなく、Excelの内部エンジンで一括処理されるため、データ量が多いほど高速です。
型の強制確定: Excelの日付は内部的にシリアル値(数値)であるため、数値として渡せば辞書順(文字列順)ではなく、必ず時系列順でソートされます。