I recently had an assignment to create on-demand PDF maps using ArcGIS Pro that included a requirement for a table based on that map that could be one to many pages long.
At first I tried using graphic and text elements to outline and write text for the table using example 2 from the GraphicElement documentation. However, this resulted in extremely poor performance, with some maps and their table taking more than 20 minutes to produce. This was due to the large number of graphic and text elements that were being written into the layout, and project.
To avoid this performance hit I decided to construct my tables using a polygon feature class for outlining (and shading) and a point feature class with labeling to position the text. The feature classes were added to a Map (that I called Table Map) and that map was added to the layout as a MapFrame (that I called Table Map Frame). All maps produced this way took less than 90 seconds to complete (on a 6 year old laptop).
After completing the assignment, I designed and published an eLearning course, based on the lessons that I had learned, called Challenging Times with Python and ArcPy for ArcGIS Pro. The course link includes a coupon of GEONET2018 which gives the first 50 people to use it a large discount on the regular price. The course resources include the Python scripts that resulted from following each of its lectures. Attached to this blog post is an example of a map (and its multi-page table) that the course can teach you to produce.