Try my answer on this question - works for me on a single template:
EE Code within channel entries
{exp:stash:set name="shortcode_inside_field" type="snippet"}
<p>Hi there! It's important to set type="snippet" so that {shortcode_inside_field} will get automatically replaced with this sentence by the stash:parse tag later on.</p>
... now run all kinds of complicated EE tags here to generate the content of the shortcode (be sure to add parse_tags="yes") ....
{/exp:stash:set}
{exp:channel:entries}
{exp:stash:parse process="end"}
{custom_field_containing_shortcodes}
{/exp:stash:parse}
{/exp:channel:entries}
... Also, make sure you're not using EE 2.5.3, since there's a bug affecting curly braces inside content entries (there's a hotfix for it if you can't upgrade to 2.5.5).
EDIT TO INCLUDE PROPER ANSWER!!
I've tested this code with Matrix, and it works for me:
{exp:channel:entries}
{gallery_matrix}
{exp:stash:set type="snippet"}
{stash:image_{row_count}}
<img src="{src}">
{/stash:image_{row_count}}
{/exp:stash:set}
{/gallery_matrix}
{exp:stash:parse process="end"}
{cf_content_body}
{/exp:stash:parse}
{/exp:channel:entries}
There are two ways of doing this with Stash - either using that _{row_count} appendage, or using Stash's context parameter. Purists may prefer the latter, personally I prefer the former...