質問の意図を、なぜ「$this->」を省略できないのか、自明ではないのか、わかりきったことを書くのは無駄ではないのか、という意味で理解しています。
回答として、PHPの構文上省略できません。
例えば、c#だとthis.Color = "緑";などと書くと、VisualStudioがthis.を暗い色にし、ヒントで消すように指示してきます。確かに自明で無駄だと思います。なぜなら、ローカルにColorを作るにはvar Color = "緑";とかかなければならず、インスタンス変数か関数内ローカル変数か容易に識別できるからです。
一方、PHPは、宣言なく変数を利用できますので、$color =としたときに、$colorが新しい変数の宣言なのか、既存の変数への代入なのかは、そこだけでは解釈できません。
一般に変数に型があり、宣言+代入をするコードと代入だけするコードが識別可能な構文の言語では、インスタンスを指すthisは省略しやすいですが、そうでない言語では省略しにくいです。(PHPの類例として、pythonでも"self.color"のように書きます)
言語作成の初期の段階から、$colorとしたとき、$thisに$colorがあればそれを参照したことにする、という仕様を採用していれば「$this->」を消すことも可能ではあったと思いますが、そうしなかった現状としては破壊的変更として影響度が大きすぎるのでもう方針転換は不可能だと思います。