I used optical switches on X Y and Z for Home and limits. One switch does both pos, neg and home for each axis.
I bought them from some place in the USA but they no longer make them, the Z I made myself along the same lines. Basically its an alu box with a rod going right through from side to side and there is a flag on the rod inside the box. Either side of the flag is a spring to hold the rod central. The rod as I said protrudes either side of the box and this is what gets pushed by the posive and negative stops on the axis thus moving the flag out of the way of the opto.
I am presently re-doing the Bridgeport and will be using Honeywell roller switches like this
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=170602753301&ssPageName=STRK:MEWNX:IT These switches are very accurate but I will also just be using them as triggers for my servo drives to then seek the index pulse on the encoder, thats the way I do it on my Bever NC5 mill and also my Computurn lathe.
Hood