I would do that because the data fields may be large, complex structures. Changing a few pointer assignments and leaving the data in place may often be more efficient.
This especially applies when sorting a list, which typically involves making many swaps.
I think this is a principal advantage that a linked list offers - the ability to change the order of the nodes while leaving the data in place in memory.