As a follow up, the tool I mentioned is challenging to use, even for developers. Or, perhaps "challenging" isn't the right word, but it lacks a good flow in that there are more steps involved than there should be for something that should be so simple.
So yes, 2.5 years later, the answer of manually still stands. For each power app I create, my docs consist of an overall explanation of the logic. I don't attempt to document every single custom element, but rather just try to provide an understanding so someone who is taking over the project can get a sense of what's going on and will know where to look for things.
This strategy makes it possible to keep the docs up to date, as I don't need to change the docs for each little thing, as I only add to the docs if the design or logic changes somehow. At the same time, anyone who reads the docs will know where the complicated bits are, and will know why it was designed the way it was.