I need to move some code from TFVC in one project collection to a project in another collection. I also need to retain the check-in history, I\'m not worried about the change
There is a request for this feature in queue for long time but MSFT has not started implementing it yet, according to the request here.
I have used TFS Integration platform with TFS 2013, which allowed me to move work items and source code with full history, from a team project to a different collection team project. Unfortunately this tool is deprecated now and no longer supported or developed for newer versions of TFS. But you can give it a trial run to see if it works for your purpose.
The tool TFS sync migration also does not support Source control migration, it only supports work items.