We don't know anything about your table, so here is something that works on my environment
;WITH cteBaseData AS (
SELECT [Timestamp], Customer
, seq = ROW_NUMBER() OVER (PARTITION BY Customer ORDER BY [Timestamp] DESC)
FROM #Customer
)
DELETE src
FROM #Customer AS src
INNER JOIN cteBaseData AS cte
ON src.Customer = cte.Customer
AND src.[Timestamp] = cte.[Timestamp]
WHERE cte.seq > 3;