We have seen issues when using VLT RCP in CQ 5.4 where it will fail if it hits a property on a node that doesn't match the destination.
For example say we have a list component that has a "pages" property that is type "String" on the source but on the destination the same list component has the "pages" property as type "String". When VLT hits this, it completely stops copying content. So we are forced to fix the property on the destination, and then restart our copy from scratch (which we typically run as a recursive copy).
You can imagine the frustration of getting 75% of the way through a multi-thousand node copy only to fail and have to start over. We have a "save" happening every 100 nodes but it's still really time consuming to compare all those nodes again when there is no need for that to happen.
Ideally what would happen is we would be tracking the entire copy and once it's complete, go back and fix the few nodes that failed one at a time if necessary.
I see other VLT commands have the --force option but RCP does not (at least not documented).