It's not a big deal to turn the Python script into a Script Tool, add it to a Toolbox, and then reference it in an ArcMap interface customization from the Toolbox. However, we have moved from a paradigm where you could have a VBA customization embedded within the MXD project file to one where, in order to do the exact same thing, you need to have at least two additional files: the Python script and the Toolbox. That changes deployment, and it adds the additional step of creating the Toolbox Script Tool. Having the tools in a Toolbox means that users can possibly run them outside of the environment that we want them to run them in... unless we spend additional time creating the tools to prevent that, which we wouldn't have to do if they were embedded directly into the MXD project.
For us, this is mainly a transitional problem in going from an ArcGIS 9.x environment with embedded VBA code in a special MXD project to a world where users (with limited ArcGIS skills) are split between versions 9.x and 10, and you can't quite do things in the same manner between those two versions.