One possible downside of multiple RPC interfaces: If you have many shared model objects between the interfaces, GWT will generate FieldSerializers for each model object - these will be shared correctly. However, in order to ensure that each RPC instance only references the serializers it needs, a TypeSerializer is created per service proxy. In the case of 10 services each using 100 model objects, this will result in 10 TypeSerializers, each with 100 FieldSerializer registrations (three components to each serializer - serialize, instantiate, deserialize).
I've seen at least one application almost triple in size under the weight of these shared model objects - over a hundred RPC interfaces, and thousands of possible model objects shared between them. Not every model was used in every interface, but enough were to do this kind of damage. This was mitigated by maintaining each interface pairs separately, and making one giant pair that extended each of the other interfaces - this way GWT.create is only invoked on that one type, and so only one giant TypeSerializer gets created instead of hundreds.
So keep an eye on your compiled output size, and check out the SOYC (Story Of Your Compile) report once in a while to see what takes up all the space.