Olá
Bem-vindo á Comunidade Microsoft
Boa noite, Dirceu. Obrigado por entrar em contato conosco e detalhar seu cenário. Para dados tabulares o DataGridView continua sendo a opção mais adequada, não é necessário trocá-lo pelo ListView pois o volume de 4000 linhas não deveria causar lentidão significativa. A recomendação neste caso é que você verifique os itens abaixo listados.:
- Faça o filtro diretamente no SQL;
- Crie os indices nas colunas utilizadas no filtro;
- Evita o AutoSizeColumnsMode = AllCells e formatação célula a célula;
- Considere a utilização do recurso Virtual Mode para grandes volumes de dados;
Documentação de referência técnica recomendada.:
Espero que essas orientações ajudem a direcionar sua solicitação. Se possível, retorne para informar o resultado. Seu feedback também pode ajudar outros membros da comunidade que enfrentem uma situação semelhante.