How does Bitcoin Core manage its peer nodes? Is it possible to let it automatically switch to faster nodes?
One thing to note is when you're syncing the blockchain, you're both downloading the blockchain and also validating all of the transactions. So that is also a possible bottleneck on your end that could be causing a slow sync.


  I wonder how does Bitcoin Core manage its peers? Will it disconnect with slower nodes, and then turn to faster ones?


This question addresses how peers are initially discovered. If you're interested in connecting to a different node you know of, you can use the rpc to disconnectnode and addnode.

Edit: removed incorrect information