Waiting on a Switch to Stop Moving

From the software point of view it doesn't particularly matter whether you have a single analog input or multiple digital inputs. All that matters is that you can look at the instantaneous state of the inputs and determine which position the switch is in at a given instant. What you're debouncing is the currently-select input number, NOT the state of all the individual inputs.

Given that, all you need to do is read the current position and compare that to the previous position. If the two are different, store the current time i.e. the time at which the change occurred. If the two are the same, work out how long ago the last change was; if it exceeds your threshold then the switch has settled in the new position so store that as the debounced position.

It only needs the following variables:
the debounced position (i.e. input number selected by the switch)
the previous position
the current position
the value of millis() when the previous position was changed.

Remember to use pull-up resistors (and wire the switch so it pulls the inputs down) since the switch contacts will be isolated while it is moving.