Scratch projects can mostly be translated to Snap! using Snapinator.
Certain Snap! features that aren't in Scratch but easily could be can be translated using Scratch custom blocks, but there isn't a program to do that because the core features that make Snap! different from Scratch can't be translated: first class procedures (indicated by gray rings), first class lists (for example, making a list of lists), and first class sprites with inheritance (cloning; Scratch does have something that looks similar but their clones are copies, whereas our clones share data and methods with their parent). These things are what motivated us to create Snap! in the first place.
When people familiar with Scratch first try out Snap!, they (understandably) start by making projects that could be translated to Scratch if someone wanted to build a program to do it. But users who have an adventurous spirit will soon start writing projects that couldn't be translated.
(Note: This doesn't mean that what the project does couldn't be done in Scratch using a different algorithm. Of course that's possible! Like essentially all programming languages, Scratch is Turing-complete. But rewriting a program altogether is a much harder problem than just replacing a few missing blocks with alternatives.)