Your approach should work, doesn't it?
Maybe this could be a better performance:
SELECT
MAX(
CASE WHEN field1 > field2 THEN
CASE WHEN field1 > field3 THEN
field1
ELSE field3 END
ELSE
CASE WHEN field2 > field3 THEN
field2
ELSE field3 END
END
)
FROM myTable
Greets
Flo