For whatever reason, the default Text Object has no FontData in Text[c4d.PRIM_TEXT_FONT]. By creating a FontData instance, I was able to set the Font.
import c4d
def main(doc):
textObject = c4d.BaseObject(c4d.Osplinetext)
doc.InsertObject(textObject)
fontData = c4d.FontData()
bc = c4d.BaseContainer()
bc.SetString(500, 'Arial')
bc.SetString(501, '11')
bc.SetInt32(502, 400)
bc.SetInt32(503, 0)
bc.SetString(509, 'Arial')
bc.SetString(508, 'ArialMT')
fontData.SetFont(bc)
textObject[c4d.PRIM_TEXT_FONT] = fontData
textObject[c4d.ID_BASELIST_NAME] = bc[500]
textObject[c4d.PRIM_TEXT_TEXT] = bc[500]
c4d.EventAdd()
if __name__=='__main__':
main(doc)