Table and Primary Key sizes in Oracle
But why do Oracle stores this so inefficiently? (a separated structure
  for the primary key)


It is inefficient for this use case.


  Do Oracle has something similar to MS SQL's clustered index, that
  makes the index part of the related table?


It is called IOT (Index-organized Table) in Oracle.

Overview of Index-Organized Tables

For example:

CREATE TABLE mytable
(
 c1 number,
 c2 number,
 c3 number,
 c4 number,
 CONSTRAINT pk_mytable PRIMARY KEY (c1,c2,c3)
)
ORGANIZATION INDEX 
;


With this, you will have only one segment caled PK_MYTABLE.


  Is there something I can do to avoid this?


See above.