Really I gotta tell you, for me it's luck. Pack RNG has been so ridiculously good to me. For instance on GvG, I bought the 40pk kit and literally scored the exact 3 legendaries I wanted. Then on WoG I got the 50pk kit and once again scored ALL the exact legendaries I wanted. Not even making that up, here's proof: https://www.youtube.com/watch?v=STFaAqpv87o
on release of wotog i bought 40 packs andsince then i opened a pack almost daylie with quest gold etc. and still i only got 2 fking legendaries. shifting zerus and soggoth. im actually really mad about it
stopped counting my packs i opened... pretty disappointed
The most effiecent way to get Legendaries requires you to be good in arena. If you can average 7wins, you will win a pack + on average 150 or more gold. Thus, infinite dust. The two problems? 7 wins average in arena is not easy at all (theres a challenge to win 100 games in 10 arena runs, requiring a 10 win average - attempted by a lot of pro hs players and most have either never succeded or taken months to succed). And the other issue being it takes a lot of time to play those games.
Other than that? Get rank 5ach season for the promised golden epic - thats 400 dust. Win at least 1 brawl a week, and do daily quests.
Finally - a lot of Legendaries come from adventures. You get 1-2 legendaries per 700 gold that way - a much higher rate than the 4k spent to reach the estimated pity timer openinh packs.