Let me know if i missed anything, but couldnt this all be written simply:
          if (slots.length < 2) {
            throw new Error($('The website must have at least two slots to apply swap'));
          } else if (slots.length === 2) {
            // Independently of what the user passed,
            // there's only two slots, so switch those ones
            slot1 = slots[0];
            slot2 = slots[1];
          } else if (!slot1 || !slot2)) {
            throw new Error($('The website has more than 2 slots you must specify which ones to swap'));
          } else {
            // More than 2 slots, validate each
            if (slot1) {
              verifySlotExists(slot1);
            }

            if (slot2) {
              verifySlotExists(slot2);
            }

            if (utils.ignoreCaseEquals(slot1, slot2)) {
              throw new Error($('Specified slots must be different'));
            }
          }

Much easier to read, IMO.