I want to define free-will for this question as a moral right and wrong decision, not an arbitrary decision or a true/false decision. I am familiar with sources that say that angels do not have free will of this type. I have also often heard quoted an idea that "angels have free will, but it is just so clear to them that they should make the right decision that they almost never make the wrong decision." Can anyone provide sources predating the 20th century (the earlier the better) which support this idea?
There's a responsa quoted in Otzar Hageonim (vol. 1 pg. 6) about praying to angels, where he quotes several Gemaras and Midrashim that angels have free will. Several commentators, among them Rashi (19:22), discuss this in the story of Sedom where Chazal indicate that the angels may have sinned at various points. Ohr Hachayim there (19:20) takes this a step further and actually says that it was in the hands of the angels to decide who to kill and destroy, once they were given permission to descend (a very literal interpretation of כיון שנתנה רשות למשחית).
Radak to Beraishis 19:21 states (I'll quote it since it isn't online as far as I know):
נראה מזה כי כשהקב"ה שולח מלאך נותן להם רשות להוסיף או לגרוע מעט משליחותם כפי אשר יראו ויבינו כי בעלי שכל הם - When God sends an angel he gives them permission to add or subtract slightly as they see fit because they are intelligent beings
Rabbeinu Bachya also writes that though angels don't have free will, they can still make mistakes. See his comments to Beraishis 3:6 (שאע"פ שאין בהם יצה"ר הרי הם נוטים לפעמים מן הדרך הראוי) as well as 19:13. As @YEZ pointed out, though, these commentators (Radak, Rabbeinu Bachya, and Ohr Hachayim) probably understand that these angels were mistaken in their judgement, but because they misjudged the situation, not because they have a will to violate God's command or act immorally (as explained by the Ramchal, in Daas Tevunos 2:31).
Returning to the original question, then, we have the letter from the Geonim which strongly implies (I believe) that angels have actual moral free will. I thought the Rambam also believed that angels could theoretically have free will, as he seems to state in Moreh Nevuchim (2:7): "they have will and choice... though they will always choose the good". I should point out though that in his introduction to Cheilek, in the fifth foundation, he states unequivocally that angels are not free agents
R. Yonasan Eibshutz also states (Yaaros Devash 1:2, second column here) that the Torah was given to man who has free will as opposed to angels, but if the angels were on earth, they too would have free will (and do evil). This very idea is actually found much earlier, in Yalkut Shimoni Beraishis 6:44. Both of these ideas sound like the opinion referenced in the question, 'they can choose to do evil but do not because the truth is clear to them'. Such an idea is popular, I think, among contemporary thinkers (such as R. Moshe Feinstein in Derash Moshe, Shemos 1:1)
Rabbi Eliyahu Lopian citing the 'Sabba' of Kelm in the fomer's work Lev Eliyahu (Wisdom and Ethics, section 1 page 297) states without attribution that angels have free will but are so overpowered by their holiness (closeness to God?) they they choose not to sin.
The author of Shevet Mussar in his work Aggadat Eliyahu (expounding on Yerushalmi Brachot 1:7) explains that when angels are sent into the physical world they are substantively changed so as to be able to exist in our world which in turn gives them the ability to "have slight free will".
In Yaaros Devash (section 1 derush 15) he cites the Zohar 1:117a which explains that God had to take the Jews out of Egypt himself because Egypt was such a place of impurity that if an angel had entered it would have become ensconced in impurity (implying angels have an ability to sin, hence free will).
Ramchal in Daat Tevunos (Chelek Bet, see also Ginzei Ramchal sections 30-34) explains that angels can err without having free will per se, basically through lack of complete comprehension of the divine will. See also Iyov 4:18 - הֵן בַּעֲבָדָיו, לֹא יַאֲמִין; וּבְמַלְאָכָיו, יָשִׂים תָּהֳלָה.
There's a Gemara (Yoma 77a) which says that Hashem punished Gavriel with "60 Pulsa NeDenura" (whippings of fire). It implies that he made some kind of mistake there.
EDIT: In that passage the Gemmora explicitly suggests that Gavriel could act against his orders:
"בְּאוֹתָהּ שָׁעָה הוֹצִיאוּ לְגַבְרִיאֵל מֵאֲחוֹרֵי הַפַּרְגּוֹד, וּמַחְיוּהוּ שִׁיתִּין פּוּלְסֵי דְנוּרָא. אֲמַרוּ לֵיהּ: אִי לָא עֲבַדְתְּ — לָא עֲבַדְתְּ, אִי עֲבַדְתְּ — אַמַּאי לָא עֲבַדְתְּ כִּדְפַקְּדוּךְ?" "Rabbi Yoḥanan said: At that moment, they cast out Gabriel from behind the curtain, and they struck him with sixty blows of fire. They said to him: If you did not do it, you did not do it; if you did do it, why did you not do it according to what you were commanded? "
"בקשו מלאכי השרת לומר שירה,
אמר הקב"ה מעשי ידי טובעים בים ואתם אומרים לפני שירה"
"Upon seeing the Egyptians drowning in the sea, angels [sought to] recite praises, [but] God said "creatures my hand made are drowning in the sea and you recite praises?"
According to this Midrash, the angels behaved on their own.