The TranzAlpine train from Christchurch is the most enjoyable way in — four and a half hours through the Southern Alps, with the terminus right in the centre of town. The same trip by car on State Highway 73 over Arthur's Pass takes about three and a half hours and has the advantage of letting you stop in Arthur's Pass National Park along the way.
From the north, Westport is about 100 kilometres up the coast on SH6 (a scenic drive past the Punakaiki pancake rocks). Hokitika is 40 minutes south, and the glacier towns are around three hours further on. Greymouth's small airport handles a limited number of regional flights — most West Coast air traffic uses Hokitika instead.