jhonny, el if es necesario. normalmente hay otros controles que pueden sufrir los efectos. por ejemplo pon en un form varios TEdit y Varios Paneles, luego prueba este codigo con y sin el if, veras que pasa
Código Delphi
[-]
var
x: Integer;
begin
For x := 0 To ComponentCount - 1 Do
If Components[x] Is TPanel Then
TPanel(Components[x]).Color:=clGreen;
end;