Best bet depends on whether you mean least expensive, most convenient, or something else (a preferred airline, perhaps). Jackson (airport code: JAC) will be the most convenient, but will have a small choice of flights; they will have to connect through another large city, most likely Denver or SLC. West Yellowstone is also a convenient option, but could easily require two connections (i.e. 2 plane changes) on the way. SLC will probably be the least expensive "close" choice: it's still a full day's drive (one way) from there to Yellowstone. Bozeman or Billings MT or Cody WY are good options. Be aware that all but SLC will be expensive, unless they get VERY lucky. Most of these airports have little or no competition, being served by one or two airlines only, which jacks up the prices. They WILL need a rental car, unless you are willing/able to pick them up and take them to the airport when needed. And reservations far ahead of time are highly recommended, due to the small number of flights, and the fact that the cheap seats are sold out first.
Jackson sounds like it would be the most convenient in terms of least driving to the area after flying in. There are direct flights in the summer from both Dallas and Chicago on American Airlines and probably Philly to Chicago to Jackson Hole would be the least time in the air. May not be the cheapest but probably the least travel time. American, Delta and United all fly into Jackson and you might get a pretty competitive fare if you book in advance. I've flown in several times and its a quick 20 minute or so trip to Jackson Hole and about the same to Teton.
Another thing to consider is the weather. We were in that area a month or so ago, there were several times that the road from West Yellowstone was closed into the park, and once or twice the road from Jackson in was closed. Check the weather...