Utilizzo MouseListener, MouseMotionListener su un jpanel, quando il mouse si sposta il metodo mouseDragged provvede a disegnare alle coordinate del mouse.
Per disegnare utilizzo un oggetto Graphics su una BufferedImage.
Ogni volta che disegno un punto viene fatto un repaint del jpanel, forse è quest'ultimo che rallenta il tutto?