Just because there's a lot of teeth showing or snarling doesn't mean they're being aggressive with each other, or even being too rough. Most of the time, if one or the other is being too rough, they will let each other know.
That being said, it's better to be safe than sorry, and if you feel like they're being too rough, you can separate them and put them into "time outs" of at least a couple minutes. That way they learn if they're too rough, all play stops.
IMO, dogs don't "need" other dogs, they get along fine without them, but it doesn't hurt, and has actually been shown to be beneficial, for dogs to have appropriate doggy playmates.