Though its a pretty old thread but still sharing my experience
We recently did this for one of our projects and followed guidelines as:
svn copy <repos/trunk> <repos/tag/old_trunk> -m "copied old trunk as tag"
svn delete <repos/trunk> -m "deleted trunk temporarily"
svn copy <repos/branch/new_fetaure_branch> <repos/trunk> -m "placed new trunk with features"
Following these steps kept the trunk history intact and replace the new feature branch as trunk.