Generally a Grid will sort in under a few seconds assuming a reasonable number of rows. On my local PC a grid with 1000 rows sort virtually instantaneously whereas 5000 takes about 3 seconds. Sort time will vary based on the randomness of the data.
You can also handle the sort request yourself and display something for the duration or as shown in the example below change the column header to RED for the duration.
0010 PRINT 'CS',
0020 GRID 10,@(5,1,40,10),SEP=","
0030 LET x=10
0040 LET x'sortonhdrclick=0
0050 FOR i=1 TO 10000
0060 GRID LOAD 10,0,i,STR(RND(1000)*i:"00000000")+",Item "+STR(i)+","
0070 NEXT i
0080 PRINT "Ready to sort"
0090 WHILE 1
0100 OBTAIN (0)*
0110 IF CTL=4 OR EOM=ESC THEN BREAK
0120 IF CTL<>x THEN CONTINUE
0130 GRID READ x,col,row,eom$
0140 IF row<>-1 THEN CONTINUE
0150 LET x'colno.row.backcolour.$=STR(col)+SEP+STR(row)+SEP+"Lite Red"+SEP
0160 WAIT .1 ! orce refresh
0170 IF x'sort=col THEN LET x'sort=0-col ELSE LET x'sort=col
0180 LET x'colno.row.backcolour.$=STR(col)+SEP+STR(row)+SEP+"Default"+SEP
0190 WEND