If there's only to be one parent switch, the Child of ConstraintChild of Constraint should do that, but for multiple switches or just plain simplicity, I'd be looking at (as you mentioned) visually switching between two swords, or even easier - splitting the project up between two or more Blend files, each taking over from the previous and each with the correct parent assigned. (CTL-PCtrl+P)
The transition would be simple enough. As the hand would firstly have to move to the sword's handle you'd need to animate that in the 1st file with the pelvis as the parent. Once the sword handle is gripped, that would be where the next Blend file takes over and with that running, the hand is the parent.
A similar case is here -