Slowdown should not really be a problem on todays computers, the method behind a sine scroll is straight forward.
If you view your letter as a bitmap:
#####
#######
## ##
#######
## ##
## ##
It is made out of rows and columns.
In most programming languages/apis there is usually a method that allows you to cut a rectangle out of a bitmap and draw it.
So for the letter "a" above the program would need to chop it up into vertical slices which can then be drawn in the right position.
Sin is straight forward;
n=sin(theta)
Returns a value in n between -1 and +1 depending on the angle you feed it (theta).
you can transform this into something more useful;
y=(99*sin(theta)) + 100
Produces a large sine wave that ranges from the top of the screen to about 200 pixels down.
So it's really a matter of chopping those letters up and drawing them in the right place. On the Amiga, they were done using the Blitter chip, you could set up a "blitter window" and move this around as you were blitting the letters.
There are dozens of sine scrollers here, if you need more help please ask
