Long time reader but new kid on the block.

I'm gonna throw two subjects at once here.
We've had a 2004 Vibe for about 5-6 years...amazing car, love it!
We recently purchased a 2005 Matrix and I know the Vibe & Trix have the same engine...apparently. (Both being around 135000 clicks) but I find that the Toyota engine is far more refined and responsive than it's GM version. It's really day and night...being one year apart, is there any design difference between the two engines? (1ZZ-FE)
Secondly, every winter my check engine on the Vibe keeps turning on when it is very cold and it gives me a PO171 (Too lean) code, and a PO133 (O2 sensor slow response) I use full Synthetic oil and periodically change the air filter & clean the intake yearly and decarbonize as well. But I still think it's not exactly set up as the Matrix one is. Concerning the PO171, I've cleaned the MAF and throttle body multiple times over the winter time. I'm pretty sure the O2 sensor the actual cause of the code but I figured it costs me nothing to try cleaning the MAF. I'm holding off changing the O2 sensor 'cause now that it's warmer outside the check engine is gone. Anyone else get this during the cold season?
That being said, it has never been as smooth as the Matrix , with or without the check engine on)
I apologize for the long post...I always try to keep my questions short, but I also try to give as much info as I can. : )
Thanks for any input.