Would the sphinx docs generated via doxygen be exactly what we would want for the Python interface? Would they be able to differentiate which parts of the C++ interface are exposed to Python and which are not? It isn't clear to me that documentation of the C++ interface is necessarily the same as documentation of the Python interface. To a user of the Python interface, it should ideally be transparent as to whether a given class/function is a pure Python implementation or a Boost.Python extension.
Of Nat's suggestions I prefer number 2 as the simplest. I don't like the idea of having to write the documentation into the Boost.Python binding.