How does face snapping work?
Make sure to have more faces on the donut than on your icing.
You can do this by adding a subdivision subsurface, you don't have to apply it.
If this doesn't work as well, you can use the shrinkwrap modifier. Make sure this is below the subdivision subsurface modifier.
Go to the modifier tab and add a shrinkwrap modifier. You will also need more verts on the donut than on the icing while doing this.
Good luck with your donut!
Emiel