For a single user system, is there any difference beteen deferring and en/disabling?
Yes, of course. Disabled=not functional at all, deferred=funtional, but postponed to the end of the transaction.

Do you have any comment on what happens when I say:

UPDATE table SET id = 1 WHERE id = 2
UPDATE table SET id = 2 WHERE id = 1

Could this conceptually make the following problem:
id, data
1, whatever1
2, whatever2

id, data
1, whatever1
1, whatever2

id, data
2, whatever1
2, whatever2

PK Violated..
What about:
UPDATE table SET id = -999 WHERE id = 2
UPDATE table SET id = 2 WHERE id = 1
UPDATE table SET id = 1 WHERE id = -999

Replace -999 with any suitable value that normally cannot exist in the ID column.
No PK deferring needed ...