One way is to add the private key for the external wallet to any wallet client, and then create a send from exactly that address. The Blockchain.info wallet has a function letting you "sweep" balances from existing addresses into another one.
I think there used to be functions on bitaddress.org for generating a send transaction given a private key, but they basically say to do the above now.
Hope that helps! Tips welcome: 1test8HVkbsP48cSTTVEPTrRXXd7cJ8bq