Best way to allow multiple users to edit a node but require approval?
You can look into the revisioining module

Revisioning is a module for the configuration of workflows to create, moderate and publish content revisions. You can set the role based permision for create , edit, view and delete revision of a content.