I believe this is just a matter of framerate. You may increase it to make those jumps invisible to the human eye ('tv --frame-rate xx') but that inevitably comes with a cost in terms of cpu usage which tv tries to keep at a minimum.
This is primarily a matter of which tradeoff suits most users I guess :-)
I tried it with --frame-rate=60 but there was no change, still selection noticeably lags compared to fzf.
Maybe your preview is async but it feels like it is updated for almost every item while I scroll through the list. Fzf preview is debounced and updates after selection stops.
Also when I test it in a dir with a 100 MB text file fzf will become slightly less smooth when scrolling selection, kind of like tv. However in that dir "tv text" will completely fail and not find any string in that file.