Consistency. We use protobuf already for most of the messages, and transit only for the application layer.
Better interop with other languages. Protobuf has better support in various languages then transit.
Security. Protobuf has a set of well maintained libraries, which will avoid having to use less tested/popular libraries, which might not have gone through much scrutiny.
We decided to move from transit to protobuf.
The main reasons for this are:
The proposed schema for protobuf is here https://github.com/status-im/status-protocol-go/pull/128 , please comment there.