I completely agree on moving the tank away from a window. Your algae problem will not get better unless you do that. Direct sunlight like that produces algae that algae-eaters won't usually eat anyway, so it's a lose-lose situation at the moment.
Honestly the Plec should be fine in a 47g unless you're not liking him being that big
If you'd really like a smaller algae-eater I would suggest a Bristlenose Pleco. They stay small (no more than 4 inches or so) and are excellent algae eaters. PetSmart rarely carries them but smaller pet stores (as well as the occasional Petco -shudder-) usually do or can order one for you. In addition, a small "fleet" of Algae eating (Amano) shrimp would be perfect for a planted aquarium! They will polish off what the Pleco doesn't and keep things looks nice!
On the other options:
Otos: Great great algae eaters but you need a small army of them for them to be active and comfortable. On top of that, they need near perfect water quality or they croak. The ones at PetSmart probably don't look so good to you because our systems are huge and often have a large flucuation of fish numbers. There is usually a very small Ammonia reading that doesn't affect most of the fish because the water is constantly circulating but can harm the Otos. The stress of being shipped doesn't help either. So if your water is up to par and you want to try some Otos out, ask the employees at PetSmart when they get their fish shipment in. Go the day after they do, pick out some decent looking ones and keep your reciept. Should anything happen to them, at least you can bring them back and get your money back.
Algae Eaters: Good at eating algae for about... a week. Once they get over 4 inches or so they get mean and lazy (kinda like Common Plecos actually but without that cute little face as a redeeming quality). They are known to chase other fish, bigger or smaller, in an attempt to suck their slime coats. Not one of the best choices.
You can always just scrap the algae too. I have an uber light on my 90g so whenever I go home I take a blade to the side of the tank and scrape all the hard algae away. Like my Plecos do anything but sit there and look adorable....
Hope that helps a bit! Good luck!