Why naive swap loops destroy your deck
The first time I tried sorting slides I wrote a double loop that swapped adjacent slides in place, the same way you would swap array elements. It produced a scrambled deck every time. The reason is that Slide.move(index) is not a swap — it shifts the positions of every slide that comes after the moved one. By the time you issue the second move(), the indexes you computed in the first pass are wrong.
The fix is to never compute a 'current index' mid-sort. Pull all the slide objects into a plain JavaScript array alongside their title text, sort that array in memory, and only then start issuing move() calls. At that point the slide objects themselves are your handles — stable references that survive any re-ordering of the deck.