I think all-in is definitely the best move here in a cash game, where the hero is most surely ahead.
The villain, being in dealer position, would most likely have raised with QQ or 99 pre-flop. Without knowing about your table image, the villain could have been playing Q-x, 10dJd, or could have 2 pair.
So of the likely holdings for the villian there are far more possible hand combinations that leave the hero ahead. In addition, the hands in which the villain is ahead don't suit the betting pattern pre-flop.
Now the holding that gives the villain the most number of outs is 10dJd. Even with this holding, the hero has a 60% chance of winning according to PokerStove Calculator (this is because you also have outs, if the board pairs, or if a 2 comes up.)
Therefore in a cash game, the worst scenario is he has 10dJd, but you are still ahead, so you should definitely call.
If you are short stacked in a tournament, again you should definitely call. You have to be prepared to take more risks if you are short stacked, because you will get less of these opportunities.
Further Mathematical Analysis of the Situation:
In the table below, I have a table of the hands that a villain would reasonably bet all-in on. The "raw probability" column gives the chance of a villain being dealt these hands given the card information we have. (i.e. hero's hand and the flop.)
The "relative probability" column, gives the probability the villain is dealt the corresponding hand, given that he is dealt one of the combinations listed (Raw prob/total).
Finally "Winning Prob" column tells us the probability the hero's hand will beat the corresponding hand given the flop. The chance of winning can be determined by multiplying "relative probability" by "winning probability" for each card and adding together. The end result is approximately 62% in favor of the hero.
| Raw Prob | Relative Prob | Winning Prob |
|:-----------------|--------------:|:------------:|
| (Q9) 0.0083 | 0.419 | 81
| (Q2) 0.0028 | 0.140 | 90
| (92) 0.0028 | 0.140 | 90
| (99) 0.0028 | 0.140 | 5
| (QQ) 0.0028 | 0.140 | 4
| (J10d)0.0005 | 0.023 | 60
Expected Value 61.6744186
This analysis doesn't however take into account the chance that villain's probability of QQ and 99 should be lower than that in the table, due to no pre-flop raise. It also excludes the fact that there is a lower probability of the villain going all in on straight-flush (54% based on 15 outs) than on a made hand such as 2 pair. Both of these considerations mean there should be an even greater chance than 61% for the Hero.