What way is tested and proven to be working?
Yes it is. Have you checked out the DFU example in the SDK?
developer.nordicsemi.com/.../a00078.html