It would be best to implement a voting mechanism, as it is already implemented for 'delete', 'flag', 'close' a question. Of course this would take into account the users flag weight. It seems to me that this is pretty intuitive solution to a real problem!
A user would suggest a new site for the question, and based on how many similar suggestions, or votes, it would either be automatically moved or a moderator would get the results.
That's the beauty of SE, it's moderated by the community. I don't think it would be fair to undermine the efforts of the users/moderators that lurk here with some artificial suggestion algorithm. Put it in the community's hands, and give them +5 for successful migration suggestions!
There you go! ;)