Christchurch Airport: The practical choice is a rental car: roughly 3½–4 hours via SH1/SH8, with fuel on top of the rental (allow about NZ$80–150+ a day for the car, season-dependent). InterCity services on the Christchurch–Queenstown route call at Twizel, but they are useful only if your dates match the limited timetable; there is no rail connection.
Queenstown Airport: Rent a car for the roughly 3½-hour drive to Twizel; this is the sensible option if you want Mount Cook, Lake Pukaki or the surrounding lakes rather than just the village. InterCity’s Queenstown–Christchurch service also stops in Twizel, but check the specific operating day and stop before building a trip around it.
Pukaki Airport: Do not plan on this as a normal arrival airport: it is used for charter flights rather than scheduled commercial service. Arrange your onward vehicle with the charter operator; Twizel is a short drive away.