The best ways to get Lviv from abroad is by airplane or by train.
Night buses often stay in long (several hour) queues on the Polish-Ukrainian border. We can recommend the night train
Warsaw(18:55)-Krakow(22:14)-Lviv(07:15)
or day trains:
Przemysl (13:07)-Lviv (16:02)
Przemysl (15:42)-Lviv (18:37)