Well, Challenges :),
In sandbox if we have to create like simple custom branding (Master Page, CSS etc.) then first it seems like very simple task for the developers. But, is it simple....well in some respect yes like we can create a solution in the Visual Studio 2010,check to deploy it as sandbox but when we have deploy the solution and activate on the site collection it is very tough job to make. Sometime the service behavior weird, or sometimes it is gone off etc. And on Office 365 it is also new monster for developer to deploy the solution. And it has lesser privileges, options. Like an event receiver on the sandbox, we can create an event receiver in VS 2010 and now we have to attach it with specific list, but the way is different. It can be performed using the configuration XML. But is it does the required work, when I have tried that it is unable to attach with list, even in the debugger :).
So, in Sandbox solution, many sectors want to migrate their farm solution (Fully trusted solution) in the sandbox solution, to reduce the cost of IT, maintenance etc. But I think on that part they have to compromise on the many of the expectation.
Well sandbox decision is quiet tricky one, just creating a static or less functional site it will good for small scale companies but for fully functional rich facility we have to use other option.