Great question. Knowing what you need work on specifically is a big aspect. Sometimes the skill you're trying to develop has a solo-variant that you can do. At the end of the day, though, I think there's some things that just require a human to work on, so maximizing your time with others is important. I know with my students who live in other states, I try to get them to come out at least once a year for a few days of more intensive training. That way, we can test everything - create a list of fundamentals that need work - translate those fundamentals into solo drills - and then that's what they can work on their own until the next time they can visit.