I have an Optimus enabled Acer Aspire 5750G with the NVIDIA 540M, and I have purchased quite a games (mostly ones on sale) on Steam over the last few months. The games work pretty well and the GPU is powerful enough to play them at the native resolution of my laptop.
I did find some games playing sluggishly even though they had pretty moderate requirements. The worst was in store when I tried playing the game Hoard. This game continually crashed to the desktop after showing its loading screen saying that reuben.exe has stopped working. I did some investigation into the matter and found a helpful thread on the game forum discussing this issue wherein lots of people with mobile hybrid GPU config (both NVIDIA & AMD\ATI) have faced crashes.
The fix that worked for me was this one:
Navigate to the folder that holds the Reuben.exe (C:\Program Files (x86)\Steam\steamapps\common\hoard\win32) and right click on the app, select Run with this Graphics processor. Then select Choose Default. When the next screen comes up click add and then navigate to the folder and select reuben.exe.
Looks like while Steam was correctly getting autoselected to the nVidia chipset, Hoard was getting the integrated.
NVIDIA by default uses its GPU for Steam, but not for all the games on Steam – especially the Indie games. This also explains why many games are slower than expected, as the integrated Intel HD graphics is not that powerful. So, if you are having trouble with games on Steam, go to the Manage 3D Settings section of the NVIDIA Control Panel and add profiles for your games on Steam, setting them to use the NVIDIA processor as shown. Steam stores the games in the folder – C:\Program Files (x86)\Steam\steamapps\common by default, and the main game executable will be within the subfolders.
On a side note, another issue I face frequently with Steam is that it takes quite a long time to launch games, and the duration seems to be dependent on the network speed. Haven’t found a workaround for that other than to launch Steam in offline mode, which seems to prevent it from trying to check for updates online on every launch.