Answer
One option worth adding alongside export-based version control is a database-level audit trail: add a trigger on the ifsapp.security_sys_tab table (the table permission-set grants are ultimately stored in) to log any changes as they happen, regardless of whether they came through the permission set screens directly, a Quick Report, or an IAL deployment. This catches changes that bypass a manual export step, complementing (rather than replacing) an XML-export-to-version-control workflow for change history and rollback capability.