Insurance/Reinsurance

The MS SQL Server 2005 database application I am supporting uses XML CLOBs to store data entered by the user. I believe the vendor thought this design was best for flexibility when many UI changes from customers (us) were expected during implementation.

The Issue
There are four tables used for storing very important transactional data as XML CLOBs. The structure on each is:
PK (int)
XML (text) * yes text not type XML *

The issue is that we want to extract the data stored as XML CLOBs and insert into normalized table/columns structures and we have not been successful. The transactional data stored in the XML CLOBs is defined as type <string></string> and the XML schema types refer only to UI field names.

What would be the best approach and what functions can I use to extract and translate up to 2GB worth of XML CLOBs per row per four tables?