タイマーを使ったオーソドックスなのはこんなかんじ。
Bitmap bitmap = Properties.Resources.MikuMiku;
Point p1 = new Point(0, 0);
private void pictureBox1_Paint(object sender, PaintEventArgs e) {
  DrawScrollImage(e.Graphics);
}
private void timer1_Tick(object sender, EventArgs e) {
  if (p1.X >= bitmap.Size.Width) p1.X = 0;
  else p1.X = p1.X + 4;
  using (Graphics g = pictureBox1.CreateGraphics()) {
    DrawScrollImage(g);
  }
}
private void DrawScrollImage(Graphics g) {
  g.DrawImage(bitmap, p1);
  g.DrawImage(bitmap, new Point(p1.X - bitmap.Size.Width, p1.Y));
}