I've tried many apps to change the DNS when a mobile network is in use, but since my last upgrade to Android 4.4, all of them simply doesn't work anymore.
After digging a bit around xda forum and having a deep look to the source code (as deep as I can) I think I found the right way to deal with this issue.