Ho trovato questa soluzione, la posto, magari può servire ad altri:
Dim lastIndex As Integer
        Me.Refresh()
        Dim i As Integer = If(ListView1.TopItem.Text = Nothing, -1, ListView1.TopItem.Index)
        If i > -1 Then
            If i = lastIndex OrElse i = ListView1.Items.Count - 2 Then
                i = 0
            End If
            lastIndex = i
            ListView1.TopItem = ListView1.Items(System.Threading.Interlocked.Increment(i))
        End If