Is the node changing the spreading factor? It does not switch gateways: if multiple gateways are in reach for a given spreading factor, all should receive the packet. Or is this about confirmed uplinks?
I don't know what you'll see for multiple gateways in http://thethingsnetwork.org/api/v0 today, but in the new backend software you will get meta-data for all receptions of your traffic, so you will be able to see all gateways.