Definitely store them in the main table with a column to indicate whether the data is approved or not.
When the change is approved, no copying is required. The extra work to filter the unapproved data is the sort of thing databases are supposed to do, when you think about it. If you index the approved column, it shouldn’t be too burdensome to do the right thing.