Following query produced the expected results:
A B 300
A C 200
A D 100
B F 200
D C 50
SELECT CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END AS COL1,
CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END AS COL2,
SUM( CASE WHEN COL3 < 0 THEN COL3 *-1 ELSE COL3 END ) AS COL3
FROM SampleData
GROUP BY CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END,
CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END
ORDER BY CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END,
CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END