Ok, you've asked for it...
We have 2 streams of updates:
1. Classical updates. Updates to STATIC files of a client (textures, models, binaries, xmls). These will work well in Steam and that is how ALL OTHER games usually patch.
2. Our own update system of DYNAMICAL files (terrains, forests, objects). Since these patches can contain a lot of data they have their own super packed format. So only our client can properly unpack and apply them. Also only our client know what patches should be applied and what patches are already applied, because you had seen those changes and your client already received them during play time (remember when I've asked you to quit from the game to save all patches, when we were filming that promo movie?).
Steam can not and I doubt it will ever be able to patch OUR files with OUR patch-files. So our launcher have to deliver those proper patches on your PC and our client needs to apply them. Still it is better to leave #1 (classical) updates on Steam CDS.
That means we have to make more logic in all our patching system and launcher to determine steam and non steam launches.
I don't say that it is impossible, but if you ever programmed something bigger than "hello world" especially when you need to integrate different systems and one of them is not yours (Steam by Valve), you would understand that it can turn out into a lot of headache and spent developers time, which we can not afford currently.