RE: question, should members be allowed to self moderate their threads?
This is only a couple ideas, so don't flame-out on me anyone, because I have experience and I'm trying to help.
The subject being this: You have a thread, which is just gone off-topic but obviously has some valid content that can not be replaced and you want to keep the "viable" content of that thread.
First, Self-Moderation won't work. It's jst a sloppy way to do it, you'll wind up having bickering and in-fighting, not to mention all the pains that go along with moderating it.
Secondly you already have in place a location to MOVE bad threads. [Like a Recycle bin]
So, one way is to make another one. Call it something you can familiarize with such as -VIABLE Threads. Make it hidden to users, and give certain mods access who would be willing to do this.
When you have a thread such as is the topic, and it gets to that point, move it in there. Until such time as someone who is dedicated to this task removes the content that isn't viable. It shouldn't be too difficult, moderate the thread, choose the bad posts, and move them off the thread to the recycle bin, whatever. Then, move the thread back into circulation.
This works best with like three "tiers" of work people. One person to move the thread in to the location (This could be any moderator), One to go through the content and move some of the bad content out and a final one to choose where to put the modified thread [maybe the subject can be changed in the first post here, to better identify the thread, since you're keeping the content, might as well make it usable for the long term. You can add a step here and that is someone approving that the content of the final revision is approved for re-circulation.
Theres always more than one way to skin a cat. In addition, if there are similar threads with viable content and both or more are on topic, they could be merged in this fashion, but that's a larger task.
Hope that helps.