This is still a question in 2021. I had the same issue today when using SDE.ST_POINT(). Turns out that the problem is related to NLS_NUMERIC_CHARACTERS config.
SDE.ST_POINT will throw "Shape has too many parts" if NLS_NUMERIC_CHARACTERS =",.". This is probably the case for sde.ST_GeomFromText().
To solve the issue, use dbms_session.set_nls() in the first line of the stored procedure or function as follows:
create or replace PACKAGE BODY TEST_PACK AS
procedure test as
begin
dbms_session.set_nls('NLS_NUMERIC_CHARACTERS', '".,"');
insert into table_evw(shape) values (sde.ST_GeomFromText('point ('|| -73.16 || ' ' || 6.78 || ')', 4686));
end test;
Solution found here: StackOverflow