Deve ser possível usar duas instruções em uma transação, uma inserção e uma exclusão:
BEGIN TRANSACTION;
INSERT INTO Table2 (<columns>)
SELECT <columns>
FROM Table1
WHERE <condition>;
DELETE FROM Table1
WHERE <condition>;
COMMIT;
Esta é a forma mais simples. Se você precisa se preocupar com a inserção de novos registros correspondentes na tabela1 entre as duas instruções, você pode adicionar um
and exists <in table2>
.