Perhaps that should be updated to first try PySide2 and then fall back to PyQt5? Then once PySide2 is available on enough platforms we can remove the fallback.
When you look at the function PythonWrapper::fromQWidget then we use the C++ interface of shiboken/PySide. The C++ interface hasn't changed with shiboken2/PySide2 (at least with the version I built in December 2016).
Then in the lines 311-327 there is also a way to access shiboken/PySide using its Python interface. This code at the moment is "blind" but I think it might be best to access PySide this way as it simplifies the build process of FreeCAD. At configure time we don't have to check for the existence of it and also the built FreeCAD libraries won't link against the shiboken/PySide libraries.
IMO we should first try to load the shiboken/PySide Python module and if this fails try sip/PyQt.
FYI, there exists a tiny wrapper called QtPy (which is part of the Spyder IDE) and by using it we could simplify a lot of things in our pure Python workbenches (Arch, Draft, ...). So, this way we could make FreeCAD pretty much independent of the installed Qt Python wrapper and use this one that is installed on the system.