I have my moderators setup to just move posts around. They cannot undelete (soft) nor delete any posts. They can only see deleted posts due to another bug I found. However, they can approve/unapprove threads/posts. However, if I delete (soft) a thread, a moderator can simply just hit the "Approve" button, and it will undelete it, bypassing the permissions.