How to move a taxonomy term from one vocabulary to another?
Term merge module seems to be what you are looking for. Just adding some features as is from its project page on D.O.

Updating term references in the field values, swapping values from the branch term to the trunk term. We support taxonomy term reference, entity reference, and any other field types that correctly define their foreign keys.
Keeping/Removing branch terms: you decide whether to keep or remove branch terms after the merge.
Merging field values: you can specify a list of fields and during merge the values of those fields from branch terms will be added to the values of the trunk term. This way you can keep field values of the branch terms after deleting them.

So all you'll need to do is to create a new term to that other vocabulary and do a merge with the old term from the other vocabulary. As for the tid I don't think that is possible to be kept or even if there is any meaning in trying to do so since all data will be transferred to the new term.