Thanks for reaching out.
would be nice to not have make my scripts compatible across both.
If you are not using feature specific to python 3, your scripts will be compatible. To ensure this is the case, you could also make sure of the Six: Python 2 and 3 Compatibility Library, it is available in Slicer.
all the pieces that will be affected by the transition?
Assuming your code is forward compatible with python 3 (you could for example look at Cheat Sheet: Writing Python 2-3 compatible code, most of the infrastructure change will be transparent for your project.
Indeed, the Slicer build-system API that will be unaffected, only the implementation of CMake function like SlicerMacroBuildModuleQtLibrary will be changed internally. And other change will also be specific to Slicer core, and will be related to class like qSlicerScriptedUtils. But that should not affect the building and distribution of your project.