FYI, the reason Dan Newman came into the answer is Sailfish firmware supports Core XY but also checks endstops all the time.
Since Sailfish is not compiled with Arduino IDE and is normally just used as is, for discussion point, assume when a user uses the provided Sailfish firmware Core XY binaries, that endstops are checked all the time. MakerBot style endstops are 4 wires meaning they do properly assert both high and low states provided the wiring is followed and there are no breaks from flexing. You can technically use 3 wire since 2 of the 4 wires are ground (sense, gnd, gnd, 5V).
Most Reprap simple endstops are wired with 2 wires and in a normally open or normally closed state. When in the Normally Open configuration, the endstop wires are not connected to anything but the mainboard and thus "floating" making them extremely sensitive to picking up EMI/RFI from adjacent and often parallel wiring runs of stepper motor or heater and fan PWM wiring.
For 3 wires.
At the endstop switch sense goes to common. Then +5V (or 3.3V on Due based controllers) goes to the NC connection and ground goes to the NO connection.
This way, the switch asserts a positive 5 or 3.3V hard pullup in the normal untriggered state and the switch slams the sense line to ground in the triggered state.
Only for a brief fraction of a second does the sense line "float" as the mechanical switch changes states.
Basically, if you are running a printer with Sailfish or other firmware that checks the endstops all the time- use 3 wire endstops to prevent EMI/RFI.
That's also good advice in general, even when using a firmware configured to not sense endstops all the time- reducing EMI/RFI is just a good thing period.