One of the standard ways of approaching this issue is the Kahan summation algorithm. This algorithm reduces your worst-case error to being dependent upon your floating point precision rather than growing proportional to the length of your vector (and does it in O(n) time, albeit with more calculations per iteration).
Kahan summation will likely outperform your current sumDoubles
due to your sorting every call, and will additionally improve pairwise summation's error growth of O(log n) to O(1). This said, if the sort
is unnecessary, pairwise summation will likely outperform Kahan summation (due to the additional per-iteration math involved) with what may be (for your circumstances) minimal error growth.