Yes I've done many of these for clients.
It really depends on a number of factors
I've done many of these and 90% of the time it require custom code for the migrataion. What we usually do is map out all the pages and blocks and write a mapping document in Excel to what old content goes to what areas. This would show for example that on an old event page with properies per page template (Such as say Umbraco) would migration to a common content template with x number of blocks created on page.
It's very difficult to use a generic tool when having a complex component structure. There is the option of using Episerver who can write stuff for you as well.
Agree with Scott above.
No two migrations are the same. It all depends on how the data is strucutred in the source system and how it should be architected in the new database.
In terms of general steps for migrations, here's some questions/suggestions to help you in the right direction.
Hope this helps and good luck.
I am working on migrating a legacy CMS onto EPiServer CMS. I want to move the content from legacy CMS into EPiServer's database. Anyone ran into a scenario like this? I followed their document on world.episerver.com, but it is not very clear. It says to configure EPiServer site under config tab in Admin section to define Content Channel. But they do not talk about exactly what APIs to use and how different fields map in their database to EpiServer's database. Any help would be much appreciated.