Was actually a piece of cake. I did get mine pre-programmed for my C-Max however. I think that is honestly the more challenging part if you plan to do it yourself. DanMC85 over on the 2gfusion forums has a service he offers to provide the correct programming necessary if you want to go the full DIY route: Sync 3 Programming (via Email) by DanMc85 Basically it's just adjusting configuration bits to tell the APIM what vehicle and options it has to talk to now.
Installation took me less than half an hour, maybe closer to 20 minutes? Granted I have viewed the installation videos a number of times. This is a good video going over the process. It's for the Escape but since the interior is near identical, it's a good analogue: (90) Ford Escape - SYNC 3 Upgrade Installation - YouTube
Only thing that is not working out of the gate even with the programming is the automatic parallel parking feature. That's a known issue on older vehicle upgrades. The PAM (Parking Aid Module) needs updated. The actual parking sensors and beeps still work however. In my 4 years of ownership I've never had the option to use the parallel parking feature so it's not a huge loss for me. There's also a very minor issue due to a) mine being an older Sync 3 APIM and b) having updated to a newer 3.4 version, when the headlamps are in auto mode and the ambient light quickly changes and dims the interior lights, the APIM screen flickers when it dims. Some incompatibility with the lighting data sent over the CANbus if I understand things correctly. For me its not really that distracting. This one I don't think there's a fix for short of sticking with one of the earlier Sync 3 updates that still has an auto brightness toggle for Sync itself that can be turned off to avoid it (I think 3.4.19101 is the latest with this?). Newer versions remove it and have auto brightness turned on by default.
Other than those it's 100% functional. Even the energy flow display and charge settings are kept. MyFordMobile still works. On screen climate controls disappeared on the latest update but that's a known thing and I just need to flip literally one bit in the AsBuilt data when I get the car back to re-enable it.