Es raro. En PIC24F he leído datos USB a 120kB/s (960kbps). Seguro que lo lento es la librería JPEG.
¿A qué te refieres con MK4?
Menciono lo de la rom lenta en PIC32 porque la velocidad de ejecución del reloj del apuntador de programa es mayor a la velocidad de lectura de la Program Memory. Imagínate... cuando llegas a una línea de código, el PIC apenas está leyendo la ROM.
Para disminuir eso, implementaron una caché que lee la Program Memory anticipadamente de forma tal que cuando el apuntador de programa llegue a una línea, la línea ya esté leída en la caché.
Al arrancar con los PIC32 me topé con esto. Una línea de memoria de programa no equivale a un ciclo de instrucción. Mis programas de encender leds no tardaban tiempos acorde a 80MIPS, eran más lentos.
La caché es intuitiva, sabe por dónde pasará el programa y lee anticipadamente la memoria de programa para que el PIC trabaje más velozmente.
Imagino que en un programa en donde la ejecución es puramente lineal (sin ciclos, for, whiles ni saltos), la caché es inútil. Afortunadamente casi todo programa bifurca y se enreda en ciclos, los cuáles le dan oportunidad a la caché de llenar su buffer mientras el PIC está dando ciclos sin leer ROM nueva.
Bueno, espero que tus animaciones LCD sean más fluidas.