The problem I faced was that when I had magnets that were strong enough to be reliably grabbed by the electromagnet, they were strong enough to repel each other if they got too close! I went through quite a large selection of different magnet sizes before I settled on the final one (which is 6mm diameter, 6mm tall, neodymium cylinders). They're strong enough to be grabbed by the electromagnet, and weak enough that 2 pieces can be in the centre of a square and a corner of the square without moving apart, but unfortunately still not weak enough that a piece can slide in a straight line past another piece.
When there is a piece in the way, it works out whether it would be shorter to move a piece out of the way, or to route the long way around, and picks whichever is shorter.