NSW batter Kurtis Patterson ended a lengthy drought, scoring a century in a Sheffield Shield clash against Western Australia.