I can't really comment on the first part of your question other than to say Thomas is generally regarded as a good general. To the second point it was not rare. 46 out of 126 of living regular army Virginians- defined as West point graduates who were born in Virginia or who claimed the state as either their place of appointment or residence on admission to the academy- remained loyal to the Union during the American Civil War. There were 18 union generals born in Virginia, roughly two thirds of which had regular army experience (most of whom had gone to west point), and most of those who hadn't served in the regular army had fought in the Mexican-American war as volunteers. Someone has already mentioned West Virginia, but even excluding what would become West Virginia(which in itself is unfair since large parts of the state supported the South) there are 14 Virginia born generals serving in Union armies, two of which had left the Old Dominion at a young age. In the South as a whole Academy trained officers split nearly 50-50, 162 for the Union and 168 for the CSA. By comparison of those officers serving appointed directly from civil life only one out of 130 stayed loyal to the Union. Perhaps not surprisingly Upper South officers were also far more likely to side with the Union than those from the Lower South, and Southern officers from slave states that didn't secede were even more likely to side with the Union.
In addition to the before mentioned correlation between having gone to west point and or service in the regular army there were a number of other factors that could possibly determine one's allegiance age and rank being prominent among them. 30% of West Point Southern Graduates prior to 1831 sided with the Confederacy vs 56% for those classes that came after. In regards to Virginia in particular the numbers are similar 33% through the class of 1830 sided with the Confederacy, while 48% sided with the Union. 1831+ classes saw 62% siding with the CSA and only 31% with the Union. 10 of 13 Southern full colonels sided with the Union including all but one of Virginia's colonels (Lee). 51% of Field grade officers stayed loyal and 40% joined the CSA. Lieutenants sided 60% with the CSA and 20% with the Union, the Virginia rank specific numbers are similar to the above.
In regards to Thomas in particular he did waver. He had family still in Southhampton and at one point considered resigning and applied to be an instructor at VMI. Prior to seceding Thomas was offered a position in the Virginia state forces to which he responded "that it is not my wish to leave the service of the United States as long as it is honorable for me to remain in it, and, therefor, as long as my native state remains in the union, it is my purpose to remain in the army, unless required to perform duties alike repulsive to honor and humanity." Thomas statement is hardly one of ringing Unionism, however Thomas had spent only a little over a year in the South over the previous 20+ years and had married a northern woman.
Other prominent Virginians who sided with the Union include Winfield Scott and Philip Cooke. Scott had been in military service since the presidency of Thomas Jefferson, and a general since Madison's presidency. He had spent little time in Virginia since joining the service and spent a good deal of his time in New York. While offered a military command by Virginia it shouldn't be very surprising that Scott declined. Cooke, often considered the father of american cavalry, had spent over 30 years in the army, was a west point graduate, and had spent much of his army career outside of the South ( fun fact J.E.B. Stuart was his son in law).
As a follow up question, I've read his loyalty oath to the United States, the constitution and the army was key in his decision, was he the only southern officer who felt this way?
A lot of Southerns were opposed to secession, whatever they thought about slavery (and a lot of them were opposed to that, too). West Virginia only exists as a separate state because they refused to secede from the Union, and so seceded from the state of Virginia to remain within it; eastern Tennessee wanted to attempt a similar secession, but Lincoln didn't think he could physically support it (and Tennessee sent more troops to the Union than any other).
Not only were there parts of the South in which secession was deeply unpopular, but remember that a lot of the Southern officers were former U.S. military officers who took vows to support the U.S. government within the framework of the Union; for a lot of them, supporting the South would have meant turning against the very military to which they swore allegiance. So, there are reasons who Southern officers in many cases fought on the side of the Union.