In a DW system, multiple temporary TSs on multiple disks under multiple disk controllers help in performance.
If you have free disk space, create one more temporary tablespace with pctincrease 0, initial and next of same size ( = multiples of sort_area_size) and assign this TS to specific users who query from a large table. To improve performance you can place the data file for the TEMP TS in a non-mirrored disk.

Or you can try locally managed temp tablespace with uniform extent of size 50M.

The last option is: Look into the SQL statement whether it uses proper indexes or not.