I bought a set of powered bench (seven seat configuration) with the slide rails that came from a 2020, I have a 2016. Also 7 seat configuration.
I did NOT put the car into any mode when doing the work, I do not have toolbox. What I would suggest is to ensure that the seats are LOCKED / LATCHED and that you have no errors before you attempt this, b/c the computer only seemed to notice the issue after I had swapped them AND had touched the damn button in the back of one. It unlatched, got stuck part way, and then the computer continually was annoying about "unlatched seat" until I was able to get the computer settings changed later.
Physical work: Open the doors and frunk and rear all around, then power off the car. Pull the fireman's loop AND disconnect the 12v.
Go to town unbolting and unplugging. That's in the service manual.
The new bench will not match all the holes, but some of the fitment positions will be fairly obvious. For the others, you CAN drill (I used a short step bit from Harbor Freight) and then tap (metric) for the factory bolts. You will see that there are two raised plates that the chairs sit on. THIS is the only place you can drill, and there's around 1" below of room to work. The floor under that raised plate is the floor of the car, NOT the lid of the battery - so you'd have to be a true gorilla to get to the battery and mess this up. Don't be a gorilla, but anything you do isn't my fault.
Safety tip: Before you install the chairs, open them up and DISCONNECT THE MOTORS. You don't need them! On the two outside seats, unzip the backs and get up to the top corners, and UNPLUG THOSE BUTTONS! You don't need those either! If you don't do this, you can screw up the computer and cause yourself the errors that I had about unlatched seating. VERY annoying.
If you have a friendly service center, you might be able to convince them to change the car's option setting about the type of 2nd row it has. They have to change it on the server TOO, or the car will just lose the setting every time it reboots (which it does right after they make that change apparently) b/c the server side is viewed as the only acceptable version.