The interface is much cleaner than you can expect, it's the Pepper API that Google engineered for NaCl. That idea was not successful in the end, but the clear interface stayed. The old NPAPI would have been more messy, but still doable.
The crucial problem is that the Flash runtime is incredibly extensive, and vaguely documented as well. I started the Lightspark project many years ago, so I know this from personal experience.
OSS Flash has value in itself, but to accurately preserve any SWF content, the original binary is the only feasible solution in the medium term.
And of course, our VM (CheerpX) has many other use cases, so it has value beside this first Flash oriented product.