We have built a TFS Migration & Synchronization toolkit
designed to help with this exact scenario. Basically it abstracts some of the API's for getting data into and out of Team Foundation Server, and works with a provider model such that you write a provider for your 3rd party or custom work tracking and/or
source control system and plug it into the Migration & Synchronization engine. From there you can sync on a schedule (e.g. every day), sync based on events (e.g. every time a check-in happens in one system), or of course manually.
In terms of how hard it is? I'd say it's a 3 (though I refuse to define the scale I'm using )
...but seriously... it primarily depends on the API support of your existing 3rd party / in-house solution and how hard it's going to be to write the provider to get data into and out of that system.
Hope that helps, and welcome to Team Foundation Server! If you get stuck there is a discussion forum at the Codeplex site I linked to above. Folks from the product group hang out in that forum.
Sr. Technical Evangelist
Visual Studio Team System