The big spark you get when you connect the batteries is tough on connectors and switches. Even big ones.
One way around that is to use a precharging circuit. Basically the same thing scottclarke is talking about, but a bit more refined.
Here's the circuit I use on my Vego. I'm using a 24v, 70amp relay from Allelectronics (around $5). The keyswitch gets turned on first, which charges the capacitors in the controller through the 1k resistor. It takes about 5 seconds for the caps to charge. Then I can turn on the kill switch to close the relay, which will only have a few volts across it at that point, minimizing the arcing.
An additional feature of this circuit is if there's a short in the controller (blown FET, etc.), the capacitors won't be able to charge, and the main relay won't be able to close.
Another nice feature is when the keyswitch is off, the controller is completely disconnected from the batteries, minimizing battery drain during storage and reducing the chances of a power line spike getting through the battery charger and zapping the controller (I've heard several reports of this happening, one that resulted in a spontaneous full throttle condition. Imagine your ride suddenly taking off in your living room for no apparent reason

).
The 1k resistor should be able to take full battery voltage without overheating. 5w is good for up to about 72v.
The resistor on the relay coil will be necessary if the relay coil is rated for a lower voltage than the battery voltage. The value of resistor is chosen to provide the correct voltage to the relay coil. A 100uf capacitor can be put across the resistor to give an extra boost to pull in the relay, allowing a slightly lower voltage to hold the relay in.