Unfortunately not based on its current implementation. SurfaceManager.SpawnEffect uses the RaycastHit for a lot of different things, such as determining the position & normal of where to spawn the object/s, the position of the audio, etc. You can follow the code in SurfaceManager.SpawnEffectInternal to get a better idea of what I mean.
@Justin would know more about this, but I'm pretty sure it's not viable for this to change in a future update unfortunately. You might be better off creating your own implementation.