Somehow I think moderators can do it on user request, but if it is not approved then the last advice is lock old topic and create new topic with self moderation. But I haven't found a case like this done before, or maybe I've missed it.
One option to consider is implementing specific local rules within your OP and enforcing them, rather than creating a self-moderated topic. Any posts that violate these rules can be reported to the moderators for further action.
Yes, it's an option as well but most spammers won't care, unfortunately.

We can't really enforce it, if it's not a self-moderated topic, as it would also require a moderator to delete it.
But it's a good suggestion.
Maybe it would help a little bit after all, which would be already nice.

It's true, spammers will not care. But reporting it as spam to moderators is the best option if you don't want to lock the topic and create a new one.