ExtGraph's sprite grabbing routines are not meant for restoring to a different location, unless there's no background. All they care about is speeding up the more or less common case of several sprites drawn with a destructive mode, over a background which is scrolling less frequently than the few sprites, and whose redrawing is costly, even with a tilemap engine.
One of the ExtGraph examples showcases the speed difference.
stdio.h routines are nice for compatibility, but... since both the TI-(e)Z80 and TI-68k platforms are fortunate enough to have memory-mapped file I/O in a flat addressing space, nothing beats the native OS file handling functions
I did optimize TICT TI-68k/AMS programs for both size and speed by switching them from stdio.h to the native vat.h functions.
One thing you should
not do, especially since you'll be using a shared copy of the file functions, is to use a naive implementation of fwrite, such as the one in GCC4TI, inherited from its dead ancestor. It has a conservative, but slow, memory allocation scheme, which reduces its usability...
Granted, TI's official, less general functions for handling "other" type variables (whereas stdio.h and vat.h functions can consume and produce arbitrary files), provided by GCC4TI in files.h, are very much slower, like 2-3 KB/s IIRC (!) - but still.
"fwrite_fast" never came to be in GCC4TI's dead ancestor, because the maintainer refused anything which might have increased the size of that function duplicated across programs...
EDIT: Mateo reminds me on IRC that the TI-eZ80's native VAT handling functions use non-C calling conventions, and need wrappers. That's a necessary lower layer, indeed - but the upper stdio.h layer, which could be at least partially written in assembly using the non-C calling convention of the native routines, looks low(er) priority to me.