Upgrading / migrating from docker 1.10.3 to docker community latest version (19.03)

You decide yourself, which host initiates the swarm and is the first manager node. Then you can add your nodes one by one as manager or worker nodes. With 10VMs I would strongly suggest to use three manager nodes to prevent the whole cluster not to be headless when a single manager is down.

This is a vague question. Do you mean wether the images will be still usable to create your containers OR do you realy plan to replace the engine and continue to use the existing containers?

What is wrong about re-creating the containers with the new engine?

A cli is provided by default. You can use portainer, swarmpit or any other management ui for swarm.