Breaking into many sequences in a design decision. Generally sequence is more like a class. If a particular sequence does a specific task, it will be cohesive and highly reusable in other scenarios as well. So better break based on the logical task performed through the sequence.
Using callout or send mediator depends on the usecase you are trying to achieve. Precisely send mediator differs from callout by making the call asynchronous. So callout mediator makes a blocking call, but this will be useful if you need the response from the service to proceed with the sequence. You can get more details about these mediators on the following link. http://docs.wso2.org/display/ESB480/Mediators
For proxy services and sequences you can define fault sequences to handle fault scenarios. For more on error handling you can follow http://docs.wso2.org/display/ESB480/Error+Handling.