I know the annoyance you're talking about, but I think you're better off wrapping sort(1) with something translates from column names to indexes. Among the reasons: sortcsv buffers all input into memory [1], while sort(1) uses a divide-and-conquer merge sort to avoid this.
[1] https://github.com/johnweldon/sortcsv/blob/55818bd8e5f9feecc...