Nothing perfect and turn key exists at the moment, but all the necessary pieces are basically there.
It depends on what sort of preservation strategy you're going after.
1) "Emulation" style:
-- Open source flash player (a la Shumway)
2) "Automated Conversion" style:
-- Load-time conversion to a different format (ie, HTML5)-- Ahead-of-time conversion to a different format
3) Convert by hand
-- Rewrite in JS/HTML5
-- Rewrite in Haxe using a library like OpenFL (Haxe compiles to JS/HTML5, C++, also Flash)
There's a lot of options available, and a lot of useful primitives. Parsing and rendering Flash (SWF) content is basically solved (OpenFL has made particular strong strides in this area, Shumway is impressive too).
The really big missing piece is ActionScript execution. There are in fact various open source ActionScript VM's out there, and there are ways to parse ABC (Action Script Byte Code) and convert it -- either ahead of time or at load-time -- to something else, whether that's directly to JS, or something like Haxe (which then compiles it to JS or C++ or whatever), but to my knowledge nobody has a working solution that as of today combines Rendering + ActionScript Execution + RigorouslyTestedConvenientUX.
But all the pieces are there. You just need someone motivated enough and well funded enough to put it all together. Hopefully this news spurs that fire.